โปรแกรม1. การใช้โปรแกรม DEVC+++ เขียนภาษา C
กด Ctrl+N เพื่อสร้าง หน้าใหม่สาหรับเขียนโค้ด
#include <stdio.h> คือจุดเริ่มต้นของการเขียนภาษา C
void main( ) คือ ส่วนของฟังก์ชัน main() โดยประกาศชนิดข้อมูลที่คืนค่ากลับเป็น void และ
ค่าที่รับเข้ามาในฟังก์ชันเป็น void หมายถึง ฟังก์ชันนี้จะไม่มีการคืนค่าใดๆ กลับออกไป และไม่
มีการรับค่าใด ๆ เข้ามาในฟังก์ชัน
2. ต้องใส่ปีกกาทุกครั้ง { }
Printf คือ คาสั่งให้แสดงผล
โดย save นามสกุลเป็น .c
พิมพ์ประโยคที่ต้องการให้แสดงใน (“…ประโยค...”)
เมื่อจบคาสั่งแต่ละบรรทัดต้องใส่ ; ทุกครั้ง !!!
3. n คือ คาสั่งในการขึ้นบรรทัดใหม่ แล้วกด F11 เพื่อแสดงผล
a คือ คาสั่งที่ทาให้เกิดเสียง
การบวกเลข
int คือ การกาหนดตัวแปร ใช้คู่กับ %d
ซึ่งเป็นการประกาศค่าจานวนเต็ม
“,” สาคัญมาก ถ้าไม่มีจะทาให้ค่า
คลาดเคลื่อนได้
4. การคูณธรรมดา
โจทย์: รับค่าเลขจานวนเต็ม 2 จานวน และหาผลคูณของเลขจานวนทั้ง 2 จานวน
1. Int %d คือการประกาศค่าตัวแปรจานวนเต็ม
-sum คือผลรวม
-num1 , num2 คือตัวเลขที่จะต้องกรอกข้อมูลเข้าไปตอนแสดงผล โดยสุดท้ายจะต้องบอกทุก
ครั้งว่ารับค่าเปอร์เซ็นอะไร
2. Printf(“…ข้อมูลที่ต้องการให้แสดง..”) จะเป็นข้อความหรือสมการก็ได้
ถ้าเป็นสมการ ให้เขียนสมการใน “ ” แล้ว , เพื่อบอกว่าสมการนั้นมีตัวแปรคืออะไรบ้างแล้วใส่
วงเล็บปิด
3. Scanf คือ การนาเข้าข้อมูล โดยใส่ %d แล้วให้ระบุว่า %d นั้นคืออะไร โดยต้องมี ,&เสมอ
4. กาหนดสมการ แล้ว printf ค่าของสมการ
6. จงหาพื้นที่วงกลม
การเปลี่ยนพื้นหลัง wallpaper
ต้องระบุหลัง %f ให้ชัดเจนว่า
%f ตัวนั้นหมายถึงอะไร
-การเปลี่ยนพื้นหลัง wallpaper ทุกอย่างต้องระบุให้
ชัดเจนตามนี้เพราะต้องเชื่อมต่อกับdextop
-โดยกรอกที่อยู่ของภาพและชื่อภาพ
8. การใช้ iF else if
โปรแกรมการคานวณเกรด
การทา IF else if มีการประกาศตัวแปร int เพียงตัวแปรเดียวเท่านั้น หลัง else if ไม่
ต้องใส่ ; และเมื่อจบ else if ต้องใส่ else ปิดท้ายเสมอ
9. การใช้ if
การถามว่า “มีพี่ชายไหม ถ้ามี พี่ชายคุณอายุเท่าไหร่”
มีการประกาศตัวแปร 2 ตัวแปร
1.ถามว่ามีพี่ชายไหม ประการตัวแปร char
2.ถามว่าพี่ชายอายุเท่าไหร่ ประกาศตัวแปร int
ถ้าตอบว่าไม่มีจะแสดงผลว่า “Good bye” โดยไม่ต้องมีการถามอายุอีก
11. การใช้ for
For คือ การทาซ้า
For(ค่าเริ่มต้น(เริ่มนับที่ค่าเท่าไหร่);นับถึงลาดับที่เท่าไหร่;.ให้ทาการอะไร (โดยต้องใส่
เครื่องหมายซ้ากัน2ครั้ง))
18. การนับแบบเรียงค่า
ค่าเริ่มต้น : ค่าสุดท้าย
ค่าเริ่มต้น : นับทีละเท่าไร : ค่าสุดท้าย
การ plot graph
การ plot กราฟ
กราฟนี้ใช้ค่า x = 0 3 6 9 12 15 18 ตามที่เคยกาหนดไว้
20. การเปลี่ยนลักษณะกราฟ
Plot (x, ‘สี เส้น ลักษณะพิกัด’)
1.Plot (x, ‘--bs’) 2. Plot (x, ‘b--o’)
3. Plot (x, ‘c*’) 4. Plot (x, ‘c--*’) 6. Plot (x, ‘y--*’)
21. การทาเครื่องคิดเลข
เลือก Push Button เพื่อสร้างช่องสาหรับแสดง
ผลลัพธ์และช่องสาหรับปุ่มเครื่องคิดเลข
สาหรับเปลี่ยนสีพื้นหลัง ตั้งชื่อกรอบ และแก้ไขกรอบ
22. สร้าง 4 แถว 5 คอลัม
เลือก Push Button เพื่อสร้างปุ่มตัวเลขและ
เครื่องหมาย
25. กด Run เพื่อทดสอบว่ากดเลข 0 แล้วจะแสดงในช่องinputหรือไม่ ถ้าเลข 0 สามารถ
แสดงในช่อง input ก็ให้ทาการ
Coppy code อันเดิมแล้วเปลี่ยนจากเลข “0” เป็นเลขอื่นๆของแต่ละฟังก์ชั่น ทาไป
เรื่อยๆ ตั้งแต่ 0-9 และเครื่องหมาย - + X / แล้วทาการทดสอบอีกครั้งเพื่อดูว่าตัวเลข
สามารถใช้งานได้ทุกตัวหรือไม่
26. พิมพ์code เพื่อใช้ฟังก์ชั่น +/-
str=get(handles.input,'String');
s=str2double(str);
e=-(s);
t=num2str(e);
set(handles.input,'String',t);
พิมพ์codeเพื่อใช้ฟังชั่นสแควรูท
str=get(handles.input,'String');
s=str2double(str);
sqr=sqrt(s);
t=num2str(sqr);
set(handles.result,'String',t);
พิมพ์code เพื่อใช้ฟังชั่น %
str=get(handles.input,'String');
s=str2double(str);
per=s/100;
t=num2str(per);
set(handles.result,'String',t);
พิมพ์code เพื่อใช้ฟังชั่น 1/X
str=get(handles.input,'String');
s=str2double(str);
div=(1/s);
t=num2str(div);
set(handles.result,'String',t);
พิมพ์code เพื่อใช้ฟังชั่นผลลัพธ์
str=get(handles.input,'String');
str=evel(str);
set(handles.result,'String',str);
str=get(handles.input,'String');
str=eval(str,'.');
set(handles.result,'String',str);
27. การเรียกภาพ
เปิด browse for folder เพื่อเปิดไฟล์ภาพ
เรียกไฟล์ภาพโดย imread (ชื่อไฟล์ที่อยู่ของภาพในไดเรกทอรี่) กรณีที่เปิดที่อยู่ของ
ไฟล์แล้ว พิมพ์แต่ชื่อไฟล์
ตัวเลขทั้งหมดคือสีต่างๆ
ในภาพ
บอกให้ทราบว่าเป็น
ภาพสี
32. การทาภาพ 3มิติ
เปิดภาพ กด seract แล้วกด crop ภาพทางซ้าย แล้วกด ctrl z เพื่อกลับมาทาข้างขวา
ใช้new script คือการเขียนคาสั่งทีเดียว
คาสั่งเปลี่ยนภาพสีเป็นเทา
L1 = rgb2gray(imread('left.jpg'));
L2 = rgb2gray(imread('right.jpg'));
34. Code การเขียนภาพ 3 มิติ
I1 = rgb2gray(imread('Lion1.jpg'));
I2 = rgb2gray(imread('Lion2.jpg'));
imshowpair(I1, I2,'montage');
title('I1 (left); I2 (right)');
figure;
imshowpair(I1,I2,'ColorChannels','red-cyan');
title('Composite Image (Red - Left Image, Cyan - Right Image)');
blobs1 = detectSURFFeatures(I1, 'MetricThreshold', 2000);
blobs2 = detectSURFFeatures(I2, 'MetricThreshold', 2000);
figure;
imshow(I1);
hold on;
35. plot(selectStrongest(blobs1, 30));
title('Thirty strongest SURF features in I1');
figure;
imshow(I2);
hold on;
plot(selectStrongest(blobs2, 30));
title('Thirty strongest SURF features in I2');
[features1, validBlobs1] = extractFeatures(I1, blobs1);
[features2, validBlobs2] = extractFeatures(I2, blobs2);
indexPairs = matchFeatures(features1, features2, 'Metric', 'SAD', ...
'MatchThreshold', 5);
matchedPoints1 = validBlobs1(indexPairs(:,1),:);
matchedPoints2 = validBlobs2(indexPairs(:,2),:);
figure;
showMatchedFeatures(I1, I2, matchedPoints1, matchedPoints2);
legend('Putatively matched points in I1', 'Putatively matched points in I2');
[fMatrix, epipolarInliers, status] = estimateFundamentalMatrix(...
matchedPoints1, matchedPoints2, 'Method', 'RANSAC', ...
'NumTrials', 10000, 'DistanceThreshold', 0.1, 'Confidence', 99.99);
if status ~= 0 || isEpipoleInImage(fMatrix, size(I1)) ...
|| isEpipoleInImage(fMatrix', size(I2))
error(['Either not enough matching points were found or '...
'the epipoles are inside the images. You may need to '...
36. 'inspect and improve the quality of detected features ',...
'and/or improve the quality of your images.']);
end
inlierPoints1 = matchedPoints1(epipolarInliers, :);
inlierPoints2 = matchedPoints2(epipolarInliers, :);
figure;
showMatchedFeatures(I1, I2, inlierPoints1, inlierPoints2);
legend('Inlier points in I1', 'Inlier points in I2');
[t1, t2] = estimateUncalibratedRectification(fMatrix, ...
inlierPoints1.Location, inlierPoints2.Location, size(I2));
tform1 = projective2d(t1);
tform2 = projective2d(t2);
I1Rect = imwarp(I1, tform1, 'OutputView', imref2d(size(I1)));
I2Rect = imwarp(I2, tform2, 'OutputView', imref2d(size(I2)));
% transform the points to visualize them together with the rectified images
pts1Rect = transformPointsForward(tform1, inlierPoints1.Location);
pts2Rect = transformPointsForward(tform2, inlierPoints2.Location);
figure;
showMatchedFeatures(I1Rect, I2Rect, pts1Rect, pts2Rect);
legend('Inlier points in rectified I1', 'Inlier points in rectified I2');
Irectified = cvexTransformImagePair(I1, tform1, I2, tform2);
37. figure;
imshow(Irectified);
title('Rectified Stereo Images (Red - Left Image, Cyan - Right Image)');
cvexRectifyImages('left.jpg', 'right.jpg');
การเปลี่ยนสีภาพเป็น RGB (สีจากแม่สี 3 สี คือสีแดง สีเขียว และสี
น้าเงิน)
ใช้imread ในการเรียกภาพ โดยพิมพ์imread ตามด้วยชื่อภาพและ
นามสกุลของภาพ เช่น imread(‘B40.TIP’) ภาพจะปรากฏขึ้นดังรูป
38. ใช้คาสั่ง imshow ทาการเปลี่ยนแม่แบบสีให้เป็น RGB
ใช้code NIR = histeq(imread('B40.TIF'));
G = histeq(imread('B50.TIP'));
R = histeq(imread ('B40.TIP'));
RGB = cat(3,NIR,G.R);
figure,imshow(RGB);
เมื่อกด F5 ภาพจะเปลี่ยนเป็นเหมือนภาพด้านบน