เปิดรูป เมล็ดข้าว
I = imread('rice.png'); imshow(I) |
สร้าง background
strel แบบ disk จะได้ เมตริกซ์ที่บริเวณมุม เป็น ศูนย์ ตรงกลางๆ เป็น 1 คล้ายวงกลม
อยู่กลางเมตริกซ์
imopen เป็น Erosion ตามด้วย Dilation มันจะตรงข้ามกับ closing อ้างอิง
background = imopen(I,strel('disk',15)); |
ลองวาดกราฟแบบ พื้นผิว ดูความขาวดำของสีพื้น
figure, surf(double(background(1:8:end,1:8:end))),zlim([0 255]); set(gca,'ydir','reverse'); |
ทำให้เมล็ดข้าวกับ background สีมันแตกต่างกันมากขึ้น
I2 = I - background; imshow(I2) |
เพิ่ม contrast ใช้ imadjust(I) = imadjust(I,stretchlim(I)) คือมันจะแผ่ขยายสีให้เต็มช่วงเลย
อ้างอิง
I3 = imadjust(I2); imshow(I3); |
ทำ threshold ให้เป็นภาพขาวกับดำเท่านั้น
level = graythresh(I3); bw = im2bw(I3,level); |
im2bw แปลง grayscale เป็น binary
จะเห็นว่ามีบางจุดที่เป็น noise อยู่ เป็นจุดขาวๆเล็กๆ ทำopenเพื่อให้หายไป
bw = bwareaopen(bw, 50); imshow(bw) |
2 ความคิดเห็น:
ขอบคุณครับที่ทำไว้ศึกษา
คือผมทำโปรเจคเกี่ยวกับ Image โดยใช้ Mathlab ครับ
ผมอยากรู้ว่า
ใช้อะไรตรวจสอบ หาตำแหน่งของวัตถุที่มันแปลกปลอม ในภาพครับ
มีภาพตัวอย่างให้ดูมั้ยครับ
วัตถุ ปกติ กับวัตถุแปลกปลอม
แสดงความคิดเห็น