من رفتم سربازی اگر محتوای منو دوست داشتید و بدردتون خورد از من حمایت مالی کنید

بهینه سازی مقدار thresholdهای لبه یاب کنی در پایتون

بهینه سازی مقدار thresholdهای لبه یاب کنی در پایتون
بهینه سازی مقدار thresholdهای لبه یاب کنی در پایتون

بهینه سازی مقدار thresholdهای لبه یاب کنی در پایتون

لبه یاب کنی که با کمک open-cv در پایتون قابل محاسبه است دو مقدار threshold دریافت می‌کند که این مقدارها مهم‌ترین پارامتری است که می‌تواند لبه یابی canny را تحت تاثیر قرار دهد. در این نوشته به روش بهینه سازی این مقدار می‌پردازیم تا مقدار ثابت در این پارامترها قرار ندهید تا یک مقدار بهینه برای این توابع استفاده کنید.

 

بهینه سازی مقدار thresholdهای لبه یاب کنی در پایتون

در رویکردی که در این نوشته در مورد آن صحبت می‌کنیم میانگین شدت تصویر را به عنوان thresholdهای لبه یاب canny استفاده می‌کنیم.

import cv2
import numpy as np

def rgb2gray_regular(image):
        grayscale_image = (
            0.2989 * image[..., 0] + 0.5870 * image[..., 1] + 0.1140 * image[..., 2]
        )
        grayscale_image = np.clip(grayscale_image, 0, 255)
        return grayscale_image.astype(np.uint8)

def canny_edge_detection(image, sigma=0.33):
        gray = rgb2gray_regular(image)

        v = np.median(gray)

        lower = int(max(0, (1.0 - sigma) * v))
        upper = int(min(255, (1.0 + sigma) * v))

        return cv2.Canny(gray, lower, upper)

 

اگر سوالی در ارتباط با کد بالا دارید در بخش نظرات این نوشته بنویسید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 5]