کشیدن اشکال مختلف

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 26, 2020

کشیدن اشکال های مختلف در تصویر

OpenCV راه حل های آسانی را در استفاده از توابع برای طراحی اشکال مختلف بر روی یک تصویر فراهم می کند. اشکالی همچون: خط ، دایره ، بیضی ، مستطیل و حتی متن. در زیر می توانید انواع توابعی که برای کشیدن این اشکال و یا نوشتن متن بر روی تصاویر استفاده می شوند را مشاهده کنید.

cv2.line ( image, starting point , end point , color , line thickness, line type)
cv2.circle ( image, center, radius, color of border, line thickness / fill type, line type)
cv2.ellipse ( image, center, axes lengths, rotation degree of ellipse, starting angle , ending angle, color, line thickness / fill type, line type)
cv2.rectangle ( image, upper left corner vertex, lower right corner vertex, line thickness / fill type, line type)
cv2.putText ( image, text, starting point of text, font type, font scale, color, linetype )

نکته: ضخامت نوشته ها توسط پارامتر thickness کنترل می شود. به طور پیش فرض، فقط یک طرح کلی از شکل کشیده شده است. برای رسم شکلی که با رنگ مشخص شده پر شده است، ضخامت آن باید -1 باشد.

کشیدن خط

در مثال زیر نحوه استفاده از تابع cv2.line را نشان خواهیم داد

#اضافه کردن کتابخانه استفاده از پردازش تصویر
import cv2
import numpy as np
#خواندن تصویر ورودی و ذخیره در یک متغیر
image = cv2.imread('Sample.jpg')
#استفاده از دستور کشيدن خط
cv2.line(image, (20, 140), (380, 200), (0, 255, 0), thickness=4, lineType=cv2.LINE_AA)
#نشان دادن تصوير نهايي
cv2.imshow("image Line", image)
#منتظر ماندن برای دریافت ورودی کلید برای خروج از برنامه و بستن پنجره
cv2.waitKey(0)
cv2.destroyAllWindows()

کشیدن دایره

قطعه کد زیر نحوه استفاده از تابع cv2.circle برای کشیدن دایره را نشان می دهد

#اضافه کردن کتابخانه استفاده از پردازش تصویر
import cv2
import numpy as np
#خواندن تصویر ورودی و ذخیره در یک متغیر
image = cv2.imread('Sample.jpg')
#کشيدن خطوط
#استفاده از دستور کشيدن دایره
cv2.circle(image, (200, 200), 150, (0, 0, 0), thickness=5, lineType=cv2.LINE_AA)
cv2.imshow("image Circle", image)
#منتظر ماندن برای دریافت ورودی کلید برای خروج از برنامه و بستن پنجره
cv2.waitKey(0)
cv2.destroyAllWindows()

کشیدن بیضی

در قطعه کد زیر نحوه استفاده از تابع cv2.ellipse را برای کشیدن بیضی نشان خواهیم داد

#اضافه کردن کتابخانه استفاده از پردازش تصویر
import cv2
import numpy as np
#خواندن تصویر ورودی و ذخیره در یک متغیر
image = cv2.imread('Sample.jpg')
#استفاده از دستور کشيدن بیضی
cv2.ellipse(image, (190, 200), (100, 50), 45, 0, 360, (255, 0, 0), thickness=2, lineType=cv2.LINE_AA)
#نشان دادن تصوير نهايي
cv2.imshow("image Ellipse", image)
#منتظر ماندن برای دریافت ورودی کلید برای خروج از برنامه و بستن پنجره
cv2.waitKey(0)
cv2.destroyAllWindows()

کشیدن مربع/مستطیل

در قطعه کد زیر نحوه استفاده از تابع cv2.rectangle برای کشیدن مربع و یا مستطیل آشنا خواهید شد

#اضافه کردن کتابخانه استفاده از پردازش تصویر
import cv2
import numpy as np
#خواندن تصویر ورودی و ذخیره در یک متغیر
image = cv2.imread('Sample.jpg')
#استفاده از دستور کشيدن مربع
cv2.rectangle(image, (20, 20), (300, 300), (255, 255, 0), thickness=2, lineType=cv2.LINE_8)
#نشان دادن تصوير نهايي
cv2.imshow("image Rectangle", image)
#منتظر ماندن برای دریافت ورودی کلید برای خروج از برنامه و بستن پنجره
cv2.waitKey(0)
cv2.destroyAllWindows()

نوشتن در تصویر

در قطعه کد زیر با نحوه استفاده از cv2.putText برای ایجاد نوشته در تصویر آشنا می شوید.

#اضافه کردن کتابخانه استفاده از پردازش تصویر
import cv2
import numpy as np
#خواندن تصویر ورودی و ذخیره در یک متغیر
image = cv2.imread('Sample.jpg')
#استفاده از دستور نوشتن متن
cv2.putText(image, "www.icc-aria.ir", (90, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 255), 2)
#نشان دادن تصوير نهايي
cv2.imshow("image Text", image)
#منتظر ماندن برای دریافت ورودی کلید برای خروج از برنامه و بستن پنجره
cv2.waitKey(0)
cv2.destroyAllWindows()

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
0دیدگاه