Page 171 - python
P. 171
145
img3 = cv2.cvtColor(img3, cv2.COLOR_BGR2RGB)
fig = plt.figure(figsize=(10,5))
ax = fig.add_subplot(1,4,1)
ax.imshow(img)
ax.set_title('Original')
ax1 = fig.add_subplot(1,4,2)
ax1.imshow(img1)
ax1.set_title('sobel')
ax2 = fig.add_subplot(1,4,3)
ax2.imshow(img2)
ax2.set_title('sharpen')
ax3 = fig.add_subplot(1,4,4)
ax3.imshow(img3)
ax3.set_title('blur')
plt.show()
ผลลัพธ :
ภาพประกอบที่ 11.13 แสดงการคอนโวลูชั่นดวยเคอรเนลแบบตาง ๆ
ตัวอยางที่ 11.9 คําสั่ง %pylab inline เปนการขอใช numpy และ matplotlib คําสั่ง Import
cv2 เปนการขอใช opencv คําสั่ง wget เปนการโหลดภาพจากเว็บ ตัวแปร img เปนการโหลดภาพ lena
ี
ดวยคําสั่ง imread() ตัวแปร sobel_kernel_y เปนเคอรเนล ขนาด 3x3 มคา [[1,2,1], [0,0,0] , [-1,-2,-
็
1]] จากนั้นทําคอนโวลูชั่นดวยคําสั่ง filter2D() และเกบในตัวแปร img1 ตัวแปร sharpen_kernel เปน
ั
เคอรเนล 3x3 มีคา [[0,-1,0], [-1,5,-1],[0,-1,0]] นําไปคอนโวลูชั่นกบภาพ lena และเกบไวในตัวแปร
็
ี
img2 จากนั้น blur_kernel เปนเคอรเนลขนาด 3x3 มคา [[0.1, 0.1, 0.1],[0.1, 0.1, 0.1], [0.1, 0.1,
0.1]] นําไปคอนโวลูชั่นกบภาพ img และเก็บผลลัพธใน img3 จากนั้นนําภาพทั้งหมดพล็อตจะไดผลลัพธ
ั
ดังภาพดานบน