1. מוצרים
  2.   תמונה
  3.   Python
  4.   Sikit Image
 
  

קוד פתוח של 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

API של Sikit-Image מאפשר מניפולציה של צבע וחשיפה של תמונות באופן פרוגרמטי. אתה יכול להמיר ותמונת RGB לתמונה בגווני אפור או לתמונת HSV. אתה יכול לעבוד על התאמת היסטוגרמה, הפרדת צבעי צביעה אימונוהיסטוכימית, גוון תמונות בקנה מידה אפור, השוואת היסטוגרמה, התאמת ניגודיות גמא ויומן, סינון מקסימום אזורי והתאמת מסננים בקנה מידה אפור לתמונות RGB

טרנספורמציות גיאומטריות באמצעות API חינם של Python

ממשק API של Sikit-Image מאפשר מניפולציה של צבע וחשיפה של תמונות באופן פרוגרמטי. אתה יכול להמיר תמונת RGB לתמונה בגווני אפור או לתמונת HSV. אתה יכול לעבוד על התאמת היסטוגרמה, הפרדת צבעי צביעה אימונוהיסטוכימית, גוון תמונות בקנה מידה אפור, השוואת היסטוגרמה, התאמת ניגודיות גמא ויומן, סינון מקסימום אזורי והתאמת מסננים בקנה מידה אפור לתמונות RGB

בצע טרנספורמציות גיאומטריות באמצעות פייתון

# 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 מאפשרת למפתחים לסנן ולשחזר תמונות באופן פרוגרמטי. אתה יכול להסיר אובייקטים קטנים מתמונות בגווני אפור עם מסנן כובע העליון, להשתמש בפונקציות של Windows עם תמונות, להשתמש במסננים מרושעים, להשתמש במיסוך לא חד, להשתמש בדיקונבולציה של תמונה ועוד.

בצע סינון תמונות באמצעות 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()
 עִברִית