1. Tuotteet
  2.   Kuva
  3.   Python
  4.   Sikit Image
 
  

Avoimen lähdekoodin Python API for Images

Tieteellinen kuvien analyysi, suodatus ja kuvien palauttaminen Python API:n kautta.

Sikit-Image on avoimen lähdekoodin Python API kuvankäsittelyyn. API tarjoaa laajan valikoiman kuvankäsittelyrutiineja Pythonissa. API:n avulla voit poimia tietoja erityisistä, tieteellisistä ja yleiskäyttöisistä kuvista, käyttää NumPy-operaatioita kuvankäsittelyyn, luoda strukturointielementtejä, estää kuvien näkymiä, manipuloida valotus- ja värikanavia, hallita reunoja ja viivoja sekä suorittaa geometrisia muunnoksia.

Lisäksi API mahdollistaa kuvien suodattamisen ja palauttamisen. Voit poistaa pienimuotoisia objekteja harmaasävykuvista, käyttää keskimääräisiä suodattimia, terävää maskausta ja paljon muuta. Tämän lisäksi API mahdollistaa paljon enemmän ominaisuuksia kuvien käsittelyyn.

Previous Next

Sikit-Imagen käytön aloittaminen

Suositeltu tapa asentaa Sikit-Image on Pipin kautta. Käytä seuraavaa komentoa asentaaksesi Sikit-Image.

Asenna Sikit-Image Pipin kautta

pip install scikit-image

Manipuloi valotus- ja värikanavia Pythonin kautta

Sikit-Image API mahdollistaa kuvien värien ja valotuksen muokkaamisen ohjelmallisesti. Voit muuntaa RGB-kuvan harmaasävykuvaksi tai HSV-kuvaksi. Voit työskennellä histogrammin sovituksen, immunohistokemiallisen värjäysvärien erottelun, harmaasävykuvien sävytyksen, histogrammin tasauksen, gamma- ja log-kontrastisäädön, alueellisten maksimien suodattamisen ja harmaasävysuodattimien mukauttamisen RGB-kuviin.

Geometriset muunnokset ilmaisella Python API:lla

Sikit-Image API mahdollistaa kuvien värin ja valotuksen ohjelmoinnin. Voit muuntaa RGB-kuvan harmaasävykuvaksi tai HSV-kuvaksi. Voit työskennellä histogrammin sovituksen, immunohistokemiallisen värjäysvärien erottelun, harmaasävykuvien sävytyksen, histogrammin tasauksen, gamma- ja log-kontrastisäädön, alueellisten maksimien suodattamisen ja harmaasävysuodattimien mukauttamisen RGB-kuviin.

Suorita geometrisia muunnoksia Pythonilla

# 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()

Kuvien suodatus ja palautus Pythonin kautta

Scikit-Image-kirjaston avulla kehittäjät voivat suodattaa ja palauttaa kuvia ohjelmallisesti. Voit poistaa pieniä esineitä harmaasävykuvista silinterisuodattimella, käyttää kuvien kanssa Windows-toimintoja, käyttää keskiarvosuodattimia, käyttää epäterävää maskia, käyttää kuvan dekonvoluutiota ja paljon muuta.

Suorita kuvan suodatus Pythonilla

# 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()
 Suomen