Open Source Python API สำหรับรูปภาพ

การวิเคราะห์ภาพทางวิทยาศาสตร์ การกรองและการฟื้นฟูภาพผ่าน Python API

Sikit-Image เป็น Python API แบบโอเพ่นซอร์สสำหรับการประมวลผลภาพ API มีรูทีนการประมวลผลภาพที่หลากหลายใน Python เมื่อใช้ API คุณสามารถดึงข้อมูลจากรูปภาพเฉพาะ ทางวิทยาศาสตร์ และวัตถุประสงค์ทั่วไป ใช้การดำเนินการ NumPy สำหรับการจัดการรูปภาพ สร้างองค์ประกอบโครงสร้าง บล็อกมุมมองบนรูปภาพ จัดการช่องรับแสงและช่องสี จัดการขอบและเส้น และดำเนินการแปลงทางเรขาคณิต

นอกจากนี้ API ยังอนุญาตให้กรองและกู้คืนรูปภาพ คุณสามารถลบวัตถุขนาดเล็กในภาพระดับสีเทา ใช้ตัวกรองเฉลี่ย การกำบัง usharp และอื่นๆ ไม่เพียงแค่นี้ API ยังอนุญาตให้มีฟีเจอร์ต่างๆ มากมายในการจัดการกับรูปภาพ

Previous Next

เริ่มต้นใช้งาน Sikit-Image

วิธีที่แนะนำในการติดตั้ง Sikit-Image คือผ่าน Pip โปรดใช้คำสั่งต่อไปนี้เพื่อติดตั้ง Sikit-Image

ติดตั้ง Sikit-Image ผ่าน Pip

pip install scikit-image

จัดการช่องรับแสงและสีผ่าน Python

Sikit-Image API ช่วยให้จัดการสีและการเปิดรับแสงของภาพโดยทางโปรแกรม คุณสามารถแปลงและ RGB Image เป็นภาพระดับสีเทาหรือภาพ HSV คุณสามารถทำงานเกี่ยวกับการจับคู่ฮิสโตแกรม, การแยกสีย้อมอิมมูโนฮิสโตเคมี, การย้อมสีภาพระดับสีเทา, การปรับสมดุลฮิสโตแกรม, การปรับแกมมาและบันทึกความคมชัด, การกรองค่าสูงสุดของภูมิภาค และการปรับฟิลเตอร์ระดับสีเทาให้เป็นภาพ RGB

การแปลงทางเรขาคณิตโดยใช้ Python API ฟรี

Sikit-Image API ช่วยให้จัดการสีและการเปิดรับแสงของภาพโดยทางโปรแกรม คุณสามารถแปลงรูปภาพ RGB เป็นรูปภาพระดับสีเทาหรือรูปภาพ HSV คุณสามารถทำงานเกี่ยวกับการจับคู่ฮิสโตแกรม, การแยกสีย้อมอิมมูโนฮิสโตเคมี, การย้อมสีภาพระดับสีเทา, การปรับสมดุลฮิสโตแกรม, การปรับแกมมาและบันทึกความคมชัด, การกรองค่าสูงสุดของภูมิภาค และการปรับฟิลเตอร์ระดับสีเทาให้เป็นภาพ RGB

ทําการเปลี่ยนแปลงทางเรขาคณิตผ่าน Python

# First we create a transformation using explicit parameters:
tform = transform.SimilarityTransform(scale=1, rotation=math.pi/2,
                                      translation=(0, 1))
print(tform.params)
# Alternatively you can define a transformation by the transformation matrix itself:
matrix = tform.params.copy()
matrix[1, 2] = 2
tform2 = transform.SimilarityTransform(matrix)
# apply forward & inverse coordinate transformations b/t the source & destination coordinate systems:
coord = [1, 0]
print(tform2(coord))
print(tform2.inverse(tform(coord)))
# Geometric transformations  to warp images:
text = data.text()
tform = transform.SimilarityTransform(scale=1, rotation=math.pi/4,
                                      translation=(text.shape[0]/2, -100))
rotated = transform.warp(text, tform)
back_rotated = transform.warp(rotated, tform.inverse)
fig, ax = plt.subplots(nrows=3)
ax[0].imshow(text, cmap=plt.cm.gray)
ax[1].imshow(rotated, cmap=plt.cm.gray)
ax[2].imshow(back_rotated, cmap=plt.cm.gray)
for a in ax:
    a.axis('off')
plt.tight_layout()

การกรองและกู้คืนรูปภาพผ่าน Python

ไลบรารี Scikit-Image ช่วยให้นักพัฒนาสามารถกรองและกู้คืนรูปภาพโดยทางโปรแกรม คุณสามารถลบวัตถุขนาดเล็กออกจากรูปภาพระดับสีเทาด้วยฟิลเตอร์หมวกทรงสูง ใช้ฟังก์ชันของหน้าต่างกับรูปภาพ ใช้ฟิลเตอร์เฉลี่ย ใช้การมาสก์ที่ไม่คมชัด ใช้การบิดเบือนรูปภาพ และอื่นๆ

ทําการกรองภาพผ่าน Python

# Let us load an image available through scikit-image’s data registry.
image = data.astronaut()
image = color.rgb2gray(image)
# Let us blur this image with a series of uniform filters of increasing size.
blurred_images = [ndi.uniform_filter(image, size=k) for k in range(2, 32, 2)]
img_stack = np.stack(blurred_images)
fig = px.imshow(
    img_stack,
    animation_frame=0,
    binary_string=True,
    labels={'animation_frame': 'blur strength ~'}
)
plotly.io.show(fig)
# Plot blur metric
B = pd.DataFrame(
    data=np.zeros((len(blurred_images), 3)),
    columns=['h_size = 3', 'h_size = 11', 'h_size = 30']
)
for ind, im in enumerate(blurred_images):
    B.loc[ind, 'h_size = 3'] = measure.blur_effect(im, h_size=3)
    B.loc[ind, 'h_size = 11'] = measure.blur_effect(im, h_size=11)
    B.loc[ind, 'h_size = 30'] = measure.blur_effect(im, h_size=30)
B.plot().set(xlabel='blur strength (half the size of uniform filter)',
             ylabel='blur metric');
plt.show()
 ไทย