ترسیم اشکال هندسی بر روی تصاویر با python

یکی از کتابخانه های معروف در زمینه پردازش تصویر و بینایی ماشین کتابخانه opencv است. کتابخانه ای که متن باز که با الگوریتم هایی متعددی که در زمینه بینایی ماشین استفاده می شود. یک کتابخانه در سال 1999 ایجاد و به اشتراک گذاشته شد. زبان اولیه که این کتابخانه استفاده می کرد زبان معروف ++c و c بود زبان های قدرتمند و البته سختگیر. منظور من از سختگیر در قیاس با زبان مهربان python است. یاد دوران دانشجویی بخیر. هنوز اشاره گرهای c کابوس برنامه نویسی است. اشاره گرها که هر کاری از آن ها بر می آمد در بسیاری از مواقع موجب بروز خطاهایی عجیب و غریب می شد به همین دلیل در نسل های بعدی فرزندان c اشاره گرها از دید برنامه نویسان پنهان شدند.

این کتابخانه امروزه واسط های مختلفی را برای برنامه نویسان فراهم کرده است تا برای کاربردهای مختلف از آن استفاده کنند. در این پست قصد دارم اسکریپتی برای ترسیم اشکال ساده هندسی با استفاده از پایتون و کتابخانه opencv بیان کنم. امیدوارم مفید باشد.

اسکریپت ساده برای ترسیم اشکال ساده هندسی بر روی تصاویر با پایتون
اسکریپت ساده برای ترسیم اشکال ساده هندسی بر روی تصاویر با پایتون

خط ۵ ارایه ای سه بعدی با ابعاد 512 و مقدار صفر ایجاد می کنیم هر خانه این ارایه از نوع uint8 است و می تواند مقداری بین ۰ تا ۲۵۵ را در خود ذخیره کند. اشاره گر به این ارایه در متغییر img قرار می گیرد.

خط ۸ با استفاده از تابع line خط ترسیم می شود پارامتر دوم وسوم نقطه آغاز و پایان خط را مشخص می کند پارامتر چهارم مقدار RGB رنگ خط و پارامتر نهایی ضخامت خط بر حسب پیکسل را تعیین می کند.

خط 10 تابع rectangle با دریافت مقادیر پارامتر هایی همانند تابعline یک مستطیل را ایجاد می کند

خط 12 و 14 به ترتیب با استفاده از توابع circleو ellipse دایره و بیضی را ترسیم می کند

خط 16 و 17 متن opencv را با فونت مورد نظر در پایین تصویر در موقعیت 10,500 و با رنگ کاملا سفید ترسیم می کند

خط 19 تابع imshow تصویر ایجاد شده در ارایه img را نمایش می دهد

خط 21 پنجره را باز نگه می دارد تا زمانی که یک دکمه از صفحه کلید فشده شود

خط 23 تمام پنجره های باز شده در برنامه را می بنند.


منبع

برای کار و آشنایی با کتابخانه opencv به آدرس زیر مراجعه کنید

https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_drawing_functions/py_drawing_functions.html

کد این برنامه را می توانید از لینک زیر دانلود کنید:

https://github.com/sedighi-mahdi/pycode/blob/master/opencvTest1.py