SlideShare a Scribd company logo
1 of 51
Download to read offline
24/3/2559
โปรแกรม MATLAB
หน้าตาของโปรแกรม MATLAB
เรื่อง Plot ( กราฟ )
Label คือการแสดงคาสั่งป้ายชื่อ
Xlabel คือแสดงป้ายแกน x | Ylabel คือแสดงป้ายแกน y
เปลี่ยนสีของ plot
มีสีดังนี้ ได้แก่ เหลือง (y) แดง (r) เขียว (g) ฟ้า (b) ดา (k)
RGB triplet คือ แม่สีหลัก
[ 0 0 0 ]
RGB เป็น 0 หมดคือสีดา
[ 1 1 1 ]
RGB เป็น 1 คือสีขาว
ถ้าอยากทาให้เป็นสีชมพูต้องนาสีแดงผสมกับสีขาว จะได้ [0.2 1 1]
เปลี่ยนเส้นทึบเป็นเส้นประ (--)
เปลี่ยนจากเส้นประเป็นประแบบจุดๆ (-.)
เปลี่ยนเป็นขีดแล้วก็บวก (-+)
เครื่องหมายบวกจะอยู่ตรงจุดตัด
แสดงกราฟมากกว่า 1 เส้น
1. กาหนดค่า
2. Plot กราฟ
ใส่สัญลักษณ์ให้กับเส้น
*ไม่ต้องปิดหน้าจอที่เป็นกราฟ แค่พับลง จะได้แสดงผลได้ดังนี้
การเปลี่ยนตาแหน่งของสัญลักษณ์ของเส้น (กดลากย้ายได้)
กราฟ 3เส้น
ประกาศตัวแปร ดังนี้
การแสดงกราฟย่อย
Subplot (แยกกราฟ) ตามด้วย (m ,n ,p) (m คือ row , n คือ colum , p คือ จานวนกราฟ)
แล้วก็ plot
Plot กราฟ
31/03/2559
เรื่อง DEM
กด set path ก่อน แล้วเลือกโฟลเดอร์ topotoolbox-master แต่ไม่ต้องเข้าไปในโฟเดอร์แล้วกด select folder
กด save แล้ว close เลย
กดโฟลเดอร์ที่เราจะใช้ทางาน Browse for folder
ไฟล์ที่เลือกมาก็จะอยู่แทบข้างๆ
Dem แยกออกมาคือ D = digital , E = elevation , M = model
รวมกันคือแบบจาลองความสูงเชิงลบ
dem จะเห็นเฉพาะค่าความสูง เช่น ภูเขา ร่องแม่น้า
เรียกเปิดไฟล์ภาพเข้ามาใน matlab
1095 คือ row | 643 คือ colum | cellsize คือ ขนาดของ picel
เรียกไฟล์รูปภาพ (imagesc)
คาสั่งทาให้เห็นเนินเขาชัดเจน (hill shade)
รูป 3 มิติที่เราใส่ตัวแปรลงไป
ถ้าเราอยากรู้ความสูงของยอดเขาแล้วสามารถไปกดได้ที่ Data cursor
แล้วเอาเมาส์ไปกดได้ที่ยอดเขาเราก็จะรู้ความสูงของเขา
การนาออก
Tif. คือไฟล์นามสกุลของภูมิสารสนเทศ (แนบพิกัดกับไฟล์ภาพได้)
การทาการไหลของนา
FD = FLOWobj(DEMf);
A = flowacc(FD);
imageschs(DEM,dilate(sqrt(A),ones(5)),'colormap',flipud(copper));
การใช้ drainagebasins
DB = drainagebasins(FD);
DB = shufflelabel(DB);
nrDB = numel(unique(DB.Z(:)))-1; % nr of drainage basins
STATS = regionprops(DB.Z,'PixelIdxList','Area','Centroid');
imageschs(DEM,DB);
hold on
for run = 1:nrDB;
if STATS(run).Area*DB.cellsize^2 > 10e6;
[x,y] = ind2coord(DB,...
sub2ind(DB.size,...
[x,y] = ind2coord(DB,...
sub2ind(DB.size,...
round(STATS(run).Centroid(2)),...
round(STATS(run).Centroid(1))));
text(x,y,...
num2str(round(STATS(run).Area * DB.cellsize^2/1e6)),...
'BackgroundColor',[1 1 1]);
end
end
hold off
title('drainage basins (numbers refer to drainage basin area in km^2)')
แล้วกด Enter จะได้ตามรูปข้างล่าง
07/04/2559
เรื่อง Image proaessive
ก่อนอื่นกด “ Browse for folder ” กาหนดเป้าหมาย โหลดภาพเข้าสู่ ‘ matlab ’
 Imread ( im คือรูปภาพ read คืออ่าน ) การอ่านรูปภาพ
 แล้วตามด้วยชื่อไฟล์รูปภาพ แต่ไม่ต้องปิด ; เพื่อจะให้โชว์ตัวเลข
นี้คือภาพที่ตัวเลขวิ่ง
*ค่าการสะท้อน 0-255 เพราะว่าเป็น 8 บิต
เรื่อง การโชว์ภาพ figure,imshow หรือเปิดไฟล์ภาพ
แล้วหลังจากที่ตัวเลขวิ่งจนหยุดแล้วให้เรากด Enter และพิมพ์คาว่า figure,imshow(color)
กด enter ก็จะขึ้นรูปภาพที่เราเลือกไว้นั้นเอง
แปลงเป็นสีเทาทังภาพ
ประกาศตัวแปร ( rgb2gray | rgb คือ สี | 2 คือ to | gray คือเทา )
ตัวเลขก็จะมาอีกแล้ว..
คาสั่งโชว์รูปภาพเหมือนเดิม..
ภาพสีเทาก็จะปรากฏ
การแสดงกราฟเชิงคลื่น
ถ้าเราอยากดูกราฟของสีในภาพหรือเรียกว่า การแสดงกราฟเชิงคลื่น
ให้เราพิมพ์ว่า figure,imhist(gray)แล้วจะขึ้นตามภาพนี้
Imhist คือแสดงกราฟจากภาพสีเทา
การเช็คคุณสมบัติของภาพว่ามีขนาดเท่าไหร่ (whos)
การทารูปภาพเป็นขาวดา
การทาให้เป็นขาวดาพิมพ์คาว่า figure,imshow(BW) แล้วก็ขึ้นตามภาพ
ค่าที่จะได้ออกมา จะมีแต่เลข 0 กับ 1
คาสั่งโชว์รูปภาพเหมือนเดิม..
รูปภาพก็จะปรากฏ
และถ้าเราจะเรียกดูภาพที่สอง ให้พิมพ์คาว่า monkey imread และกด Enter แล้วพิมพ์
figure,imshow(monkey) แล้วกดก็จะขึ้นตามรูปภาพ
เปลี่ยนเป็นภาพลิงที่อาจารย์ให้มา แล้วทาตามเดิม
ขั้นตอนการปรับแก้ภาพให้มีความชัดเจน
ภาพก็จะชัดเจนขึ้น..
แสดงกราฟของภาพลิง
ดูกราฟของสีในภาพให้พิมพ์คาว่า figure,imhist(monkey) ก็จะขึ้นตามรูปภาพ
การแสดง สีให้พิมพ์ว่า image(C)
Image คือการแสดงสี จะได้สีที่ออกมา
เรื่อง WEB CAM
การได้มาของภาพจากกล้อง
พิมพ์คาว่า imaqtool แล้วก็จะขึ้นหน้า แล้วเราก็กดตรงด้านซ้ายแล้วไป
กดตรง preview แล้วจะขึ้นกล้องตามรูปด้านล่าง
กล้องก็จะขึ้นมา
รหัสในการเข้ากล้อง
Mjpg คือ การบอกขนาดกรอบ | Vid คือ การเก็บ driver ของกล้อง
Getsnapshot คือ การถ่ายภาพ
ชื่อไฟล์จะชื่อ image นามสกุลไฟล์จะเป็น jpg
เรื่อง ภาพ stereo
จะแยกภาพออกจากกัน คือ pic 1 กับ pic 2 โดยโปรแกรม paint.
วางรูปแล้ว เลือก select แล้ว crop รูปฝั่งซ้ายมือ
Crop รูปเสร็จเรียบร้อยแล้วกด save as ต้อง save เป็นไฟล์ JPEG picture
จากนั้นทาแบบเดิมกับภาพที่ 2
จากนั้นกด save as เหมือนเดิม
การ Set ไฟล์ภาพ
กด “ Browse for folder ” เลือกไฟล์ 3D แต่ไม่ต้องเข้าไปในโฟลเดอร์ แล้วกด select
เสร็จแล้วกด New Script
โค้ดการทาภาพ 3D
I1 = rgb2gray(imread('pic1.jpg'));
I2 = rgb2gray(imread('pic2.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;
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 '...
'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);
figure;
imshow(Irectified);
title('Rectified Stereo Images (Red - Left Image, Cyan - Right Image)');
cvexRectifyImages('lions_left.jpg', 'lion_right.jpg');
จากนั้นก็กด Run ภาพก็จะปรากฏขึ้นมาซ้อนๆกัน เป็นขั้นตอนว่าทายังไง
เปิด figure 8 ให้เปิดรูปใหญ่แล้วใส่แว่น 3D ได้เลยยยย
เรื่อง guide
พิมพ์ว่า guideแล้วเลือก Bank กด OK ภาพก็จะขึ้นตามภาพข้างล่าง
นี้คือรูปที่ได้จากคาสั่งข้างบน
และไปที่ ไฟล์ แล้วกด preferences แล้วกด show name แล้วไปกดที่ Axes เอาเมาส์ไปลากไว้ที่
หน้าจอก็จะขึ้นตามรูป | *แสดงข้อมูล ใช้ axes
หลังจากนั้นก็ไปกดที่ Push Button แล้วเอาเมาส์ไปลากวางไว้ที่หน้าตามภาพ
เพื่อในการใช้งานจะสามารถคลิกปุ่มนี้ได้
การแก้ไขสี , ตัวอักษร ฯลฯ
กดที่ ปุ่ม Push Button สองที เครื่องมือก็จะขึ้นมา ให้แก้ไขสี , ตัวอักษร ฯลฯ
String คือการใส่ชื่อปุ่ม แต่ตัวอักษรพิมพ์ใหญ่
ใส่ Tag ชื่อเหมือนกับ String แต่ว่าต้องตัวอักษรพิมพ์เล็ก
*ถ้าไม่ใส่ tag จะงง ว่าอันนี้ปุ่มไหน
คลิกขวาไปที่ View Callback แล้วเลือก Callback
จะขึ้นมาที่หน้าต่างนี้
สิ่งที่เพิ่มมาคือบรรทัดที่ 81 – 89
เพิ่มโค้ดที่บรรทัด 57
เพิ่มโค้ดที่บรรทัด 96 – 99
เพิ่มโค้ดที่บรรทัด 106 – 109
เพิ่มโค้ดที่บรรทัด 116 – 119
เพิ่มโค้ดที่บรรทัด 126 – 128 จากนั้นกด Run
กด Change Folder แล้ว กด load image แล้วจะขึ้นแบบนี้
เรื่อง การผสมสีภาพ (LS5)
ภาพถ่ายดาวเทียมบริเวณ จ.ชัยภูมิ
58170110 01

More Related Content

Similar to 58170110 01

น.ส.ลลิตภัทร สงวนผิว 58670381 กลุ่ม3302
น.ส.ลลิตภัทร สงวนผิว 58670381 กลุ่ม3302น.ส.ลลิตภัทร สงวนผิว 58670381 กลุ่ม3302
น.ส.ลลิตภัทร สงวนผิว 58670381 กลุ่ม3302Nawarat Sornchai
 
โปรแกรม Matlap
โปรแกรม Matlapโปรแกรม Matlap
โปรแกรม Matlapminkky04
 
โปรแกรม
โปรแกรมโปรแกรม
โปรแกรมminkky04
 
Compro 58670411 3304_aod
Compro 58670411 3304_aodCompro 58670411 3304_aod
Compro 58670411 3304_aodnontawatzj
 

Similar to 58170110 01 (7)

Matlab
MatlabMatlab
Matlab
 
น.ส.ลลิตภัทร สงวนผิว 58670381 กลุ่ม3302
น.ส.ลลิตภัทร สงวนผิว 58670381 กลุ่ม3302น.ส.ลลิตภัทร สงวนผิว 58670381 กลุ่ม3302
น.ส.ลลิตภัทร สงวนผิว 58670381 กลุ่ม3302
 
โปรแกรม Matlap
โปรแกรม Matlapโปรแกรม Matlap
โปรแกรม Matlap
 
โปรแกรม
โปรแกรมโปรแกรม
โปรแกรม
 
Compro 58670411 3304_aod
Compro 58670411 3304_aodCompro 58670411 3304_aod
Compro 58670411 3304_aod
 
58170131 01
58170131 0158170131 01
58170131 01
 
Matlab 58170042 (1)
Matlab 58170042 (1)Matlab 58170042 (1)
Matlab 58170042 (1)
 

58170110 01