Open Source Python API สำหรับรูปภาพ
การวิเคราะห์ภาพทางวิทยาศาสตร์ การกรองและการฟื้นฟูภาพผ่าน Python API
Sikit-Image เป็น Python API แบบโอเพ่นซอร์สสำหรับการประมวลผลภาพ API มีรูทีนการประมวลผลภาพที่หลากหลายใน Python เมื่อใช้ API คุณสามารถดึงข้อมูลจากรูปภาพเฉพาะ ทางวิทยาศาสตร์ และวัตถุประสงค์ทั่วไป ใช้การดำเนินการ NumPy สำหรับการจัดการรูปภาพ สร้างองค์ประกอบโครงสร้าง บล็อกมุมมองบนรูปภาพ จัดการช่องรับแสงและช่องสี จัดการขอบและเส้น และดำเนินการแปลงทางเรขาคณิต
นอกจากนี้ API ยังอนุญาตให้กรองและกู้คืนรูปภาพ คุณสามารถลบวัตถุขนาดเล็กในภาพระดับสีเทา ใช้ตัวกรองเฉลี่ย การกำบัง usharp และอื่นๆ ไม่เพียงแค่นี้ API ยังอนุญาตให้มีฟีเจอร์ต่างๆ มากมายในการจัดการกับรูปภาพ
เริ่มต้นใช้งาน 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()