1. Produk
  2.   Imej
  3.   Python
  4.   Sikit Image
 
  

Open Source Python API untuk Imej

Analisis Imej Saintifik, Penapisan dan Pemulihan imej melalui API Python.

Sikit-Image ialah API Python sumber terbuka untuk pemprosesan imej. API menyediakan pelbagai rutin pemprosesan imej dalam Python. Menggunakan API, anda boleh mengekstrak data daripada imej tujuan khusus, saintifik dan umum, menggunakan operasi NumPy untuk manipulasi imej, menjana elemen penstrukturan, menyekat pandangan pada imej, memanipulasi saluran pendedahan dan warna, mengurus tepi dan garisan serta melakukan transformasi geometri.

Tambahan pula, API membenarkan penapisan dan pemulihan imej. Anda boleh mengalih keluar objek berskala kecil dalam imej berskala kelabu, menggunakan penapis min, penyamaran usharp dan banyak lagi. Bukan itu sahaja, API membenarkan lebih banyak ciri untuk memanipulasi imej.

Previous Next

Bermula dengan Sikit-Image

Cara yang disyorkan untuk memasang Sikit-Image adalah melalui Pip. Sila gunakan arahan berikut untuk memasang Sikit-Image.

Pasang Sikit-Image melalui Pip

pip install scikit-image

Manipulasi Saluran Pendedahan & Warna melalui Python

API Sikit-Imej membenarkan memanipulasi warna & pendedahan imej secara pengaturcaraan. Anda boleh menukar dan Imej RGB kepada imej skala kelabu atau imej HSV. Anda boleh mengusahakan padanan histogram, pemisahan warna pewarnaan imunohistokimia, mewarnakan imej skala kelabu, Penyamaan histogram, pelarasan kontras gamma dan log, menapis maksima serantau dan menyesuaikan penapis skala kelabu kepada imej RGB

Transformasi Geometrik Menggunakan API Python Percuma

API Sikit-Imej membolehkan memanipulasi warna & pendedahan imej secara pengaturcaraan. Anda boleh menukar Imej RGB kepada imej skala kelabu atau imej HSV. Anda boleh mengusahakan padanan histogram, pemisahan warna pewarnaan imunohistokimia, mewarnakan imej skala kelabu, Penyamaan histogram, pelarasan kontras gamma dan log, menapis maksima serantau dan menyesuaikan penapis skala kelabu kepada imej RGB

Lakukan Transformasi Geometri melalui 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()

Penapisan & Pemulihan Imej melalui Python

Pustaka Scikit-Image membolehkan pembangun menapis dan memulihkan imej secara pengaturcaraan. Anda boleh mengalih keluar objek kecil daripada imej berskala kelabu dengan penapis topi atas, menggunakan fungsi tingkap dengan imej, menggunakan penapis min, menggunakan pelekat yang tidak tajam, menggunakan penyahkonvolusi imej dan banyak lagi.

Lakukan Penapisan Imej melalui 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()
 Melayu