1. Produkter
  2.   Bilde
  3.   Python
  4.   Sikit Image
 
  

Open Source Python API for bilder

Vitenskapelig bildeanalyse, filtrering og restaurering av bilder via Python API.

Sikit-Image er et åpen kildekode Python API for bildebehandling. API-en gir et bredt spekter av bildebehandlingsrutiner i Python. Ved å bruke API kan du trekke ut data fra spesifikke, vitenskapelige og generelle bilder, bruke NumPy-operasjoner for bildemanipulering, generere strukturerende elementer, blokkere visninger på bilder, manipulere eksponering og fargekanaler, administrere kanter og linjer og utføre geometriske transformasjoner.

Videre tillater API filtrering og restaurering av bilder. Du kan fjerne småskalaobjekter i gråtonebilder, bruke slemme filtre, usharp maskering og mer. Ikke bare dette, API tillater mye flere funksjoner for å manipulere bilder.

Previous Next

Komme i gang med Sikit-Image

Den anbefalte måten å installere Sikit-Image på er via Pip. Vennligst bruk følgende kommando for å installere Sikit-Image.

Installer Sikit-Image via Pip

pip install scikit-image

Manipuler eksponerings- og fargekanaler via Python

Sikit-Image API gjør det mulig å manipulere farger og eksponering av bilder programmatisk. Du kan konvertere og RGB-bilde til et gråtonebilde eller HSV-bilde. Du kan jobbe med histogramtilpasning, immunhistokjemisk farging av fargeseparasjon, toning av gråskalabilder, histogramutjevning, justering av gamma- og loggkontrast, filtrering av regionale maksima og tilpasning av gråskalafiltre til RGB-bilder

Geometriske transformasjoner ved hjelp av gratis Python API

Sikit-Image API gjør det mulig å manipulere farger og eksponering av bilder programmatisk. Du kan konvertere et RGB-bilde til et gråtonebilde eller HSV-bilde. Du kan jobbe med histogramtilpasning, immunhistokjemisk farging av fargeseparasjon, toning av gråskalabilder, histogramutjevning, justering av gamma- og loggkontrast, filtrering av regionale maksima og tilpasning av gråskalafiltre til RGB-bilder

Utfør geometriske transformasjoner via 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()

Bildefiltrering og restaurering via Python

Scikit-Image-biblioteket lar utviklere filtrere og gjenopprette bilder programmatisk. Du kan fjerne små objekter fra gråtonebilder med et topphat-filter, bruke Windows-funksjoner med bilder, bruke slemme filtre, bruke uskarp maskering, bruke bildedekonvolvering og mer.

Utfør bildefiltrering via 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()
 Norsk