1. منتجات
  2.   صورة
  3.   Python
  4.   Sikit Image
 
  

Open Source Python API للصور

تحليل الصور العلمية وتصفيتها واستعادتها عبر Python API.

Sikit-Image هي واجهة برمجة تطبيقات Python مفتوحة المصدر لمعالجة الصور. توفر API مجموعة واسعة من إجراءات معالجة الصور في Python. باستخدام واجهة برمجة التطبيقات ، يمكنك استخراج البيانات من صور محددة وعلمية وعامة الأغراض ، واستخدام عمليات NumPy لمعالجة الصور ، وإنشاء عناصر هيكلية ، وحظر طرق العرض على الصور ، والتعامل مع التعرض وقنوات الألوان ، وإدارة الحواف والخطوط وإجراء تحويلات هندسية.

علاوة على ذلك ، تسمح واجهة برمجة التطبيقات (API) بتصفية الصور واستعادتها. يمكنك إزالة الكائنات صغيرة الحجم في الصور ذات التدرج الرمادي ، واستخدام المرشحات المتوسطة ، وإخفاء usharp ، والمزيد. ليس هذا فقط ، تسمح API بمزيد من الميزات لمعالجة الصور.

Previous Next

الشروع في العمل مع Sikit-Image

الطريقة الموصى بها لتثبيت Sikit-Image هي عبر Pip. الرجاء استخدام الأمر التالي لتثبيت Sikit-Image.

قم بتثبيت Sikit-Image عبر Pip

pip install scikit-image

التلاعب في التعرض وقنوات الألوان عبر Python

تسمح واجهة برمجة تطبيقات Sikit-Image بمعالجة الألوان والتعرض للصور برمجيًا ، ويمكنك تحويل صورة RGB إلى صورة ذات تدرج رمادي أو صورة HSV. يمكنك العمل على مطابقة الرسم البياني ، وفصل ألوان التلوين الكيميائي المناعي ، وتلوين الصور ذات التدرج الرمادي ، ومعادلة الرسم البياني ، وضبط تباين جاما والسجل ، وتصفية الحدود القصوى الإقليمية ، وتكييف مرشحات التدرج الرمادي مع صور RGB

التحولات الهندسية باستخدام واجهة برمجة تطبيقات Python المجانية

تسمح واجهة برمجة تطبيقات 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 للمطورين تصفية الصور واستعادتها برمجيًا. يمكنك إزالة الكائنات الصغيرة من الصور ذات التدرج الرمادي باستخدام مرشح القبعة العلوية ، واستخدام وظائف النوافذ مع الصور ، واستخدام المرشحات المتوسطة ، واستخدام التقنيع غير الواضح ، واستخدام تفكيك الصورة ، والمزيد.

قم بإجراء تصفية الصور عبر 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()
 عربي