Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะหารูปทรงของภาพโดยใช้ scikit-learn ใน Python ได้อย่างไร?


Scikit-learn หรือที่เรียกกันทั่วไปว่า sklearn เป็นไลบรารี่ใน Python ที่ใช้สำหรับวัตถุประสงค์ในการใช้อัลกอริธึมการเรียนรู้ของเครื่อง เป็นห้องสมุดโอเพ่นซอร์สจึงสามารถใช้งานได้ฟรี ไลบรารีนี้สร้างขึ้นบนไลบรารี Numpy, SciPy และ Matplotlib

วิธีการ 'กำลังสองเดินขบวน' ใช้เพื่อค้นหารูปทรงในภาพ ใช้ฟังก์ชัน 'find_contours' ในคลาส 'measure' ของไลบรารี 'skimage' ในการนี้ ค่าที่มีอยู่ในอาร์เรย์จะถูกสอดแทรกในลักษณะเชิงเส้น

ด้วยวิธีนี้ ความแม่นยำของเส้นขอบในภาพส่งออกจะดีกว่ามาก หากเส้นขอบในภาพตัดกัน แสดงว่าเส้นขอบนั้นเปิด มิฉะนั้นจะปิด

ให้เราเข้าใจวิธีค้นหาเส้นขอบในภาพโดยใช้ไลบรารี scikit-learn -

ตัวอย่าง

import numpy as np
import matplotlib.pyplot as plt
from skimage import measure
x, y = np.ogrid[-6.7:np.pi:215j, -1.2:np.pi:215j]
r = np.sin(np.exp((np.sin(x)**3 + np.cos(y)**2)))
contours = measure.find_contours(r, 0.8)
fig, ax = plt.subplots()
ax.imshow(r, cmap=plt.cm.gray)
for contour in contours:
ax.plot(contour[:, 1], contour[:, 0], linewidth=2)
ax.axis('Image')
ax.set_xticks([])
ax.set_yticks([])
plt.show()

ผลลัพธ์

จะหารูปทรงของภาพโดยใช้ scikit-learn ใน Python ได้อย่างไร?

คำอธิบาย

  • แพ็คเกจที่จำเป็นจะถูกนำเข้าสู่สภาพแวดล้อม

  • ข้อมูลถูกสร้างขึ้นด้วยความช่วยเหลือของแพ็คเกจ NumPy

  • ฟังก์ชัน 'find_contours' ใช้เพื่อกำหนดเส้นขอบของภาพ

  • ฟังก์ชัน 'แผนย่อย' ใช้เพื่อแสดงรูปภาพต้นฉบับและรูปภาพที่มีเส้นขอบบนคอนโซล