Shakllar chizish
Maqsadlar
• OpenCV yordamida turli xil geometrik shakllarni chizishni o'rganing
• Siz ushbu funktsiyalarni bilib olasiz: cv2.line (), cv2.circle (), cv2.rectangle (), cv2.ellipse (), cv2.putText () va boshqalar.
Kod
Yuqoridagi barcha funktsiyalarda siz quyida keltirilgan ba'zi bir keng tarqalgan dalillarni ko'rasiz:
• img: Siz rasm chizmoqchi bo'lgan rasm
• rang: Shakl rangi. BGR uchun uni zinapoyaga o'tkazing, masalan: (255,0,0) ko'k uchun. Kulrang uchun faqat skalyar qiymatni o'tkazing.
• balandligi: chiziq yoki aylananing balandligi va boshqalar. Agar 1 oylik bo'lsa, ularni yopiq elementlar uchun bering, u shaklni qo'shing. Standart kengligi = 1
• lineType: Typeofline, 8 ulangan, anti-aliasedlineetc. Odatiy bo'lib, itis8 ulanadi. cv2.LINE_AA egri chiziqlar uchun ajoyib ko'rinishga ega chiziqqa ega.
Chizma chizig'i
Chiziq chizish uchun siz boshlang'ich va tugaydigan koordinatalarni chizishingiz kerak. Biz qora rasmni yaratamiz va uning ustiga yuqoridan chapdan pastga o'ng burchaklarga ko'k chiziq chizamiz.
To'rtburchakni chizish
To'rtburchakni chizish uchun to'rtburchakning yuqori chap burchagi va pastki o'ng burchagi kerak. Bu safar biz rasmning yuqori o'ng burchagida yashil to'rtburchaklar chizamiz.
Aylana chizish
Doira chizish uchun sizga uning markaziy koordinatalari va radiusi kerak. Yuqorida chizilgan to'rtburchaklar ichida doira chizamiz.
Ellipsni chizish
Ellipsni chizish uchun bir nechta dalillarni o'tkazishimiz kerak. Bitta dalil - bu markazning joylashuvi (x, y). Keyingi dalil - bu o'qlarning uzunligi (asosiy o'q uzunligi, kichik o'q uzunligi). burchak - bu soat miliga qarshi yo'nalishda ellipsni aylanish burchagi. startAngle va endAngle asosiy o'qdan soat yo'nalishi bo'yicha o'lchanadigan ellips tizmasining boshlanishi va tugashini anglatadi. ya'ni 0 va 360 qiymatlarini berish to'liq ellipsni beradi. Qo'shimcha ma'lumot olish uchun cv2.ellipse () hujjatlarini tekshiring. Quyida misol rasmning markazida yarim ellipsni tortadi.
Polygon chizish
Ko'pburchak chizish uchun, uning doimiy koordinatalari. Ushbu nuqtalarni ROWSx1x2 formatiga o'tkazing, bu erda ROWS - vertikallarning soni va ular int32 turida bo'lishi kerak. Bu erda biz to'rtta uchi sariq rangda bo'lgan kichik ko'pburchakni chizamiz.
Tasvirlarga matn qo'shish:
Matnlarni rasmlarga joylashtirish uchun siz quyidagi narsalarni ko'rsatishingiz kerak.
• Siz yozmoqchi bo'lgan matnli ma'lumotlar
• O'zingiz xohlagan joyning joylashish koordinatalari (ya'ni ma'lumotlar boshlanganda chap chap burchak).
• Shrift turi (qo'llab-quvvatlanadigan shriftlar uchun Checkcv2.putText () hujjatlari)
• Shrift shkalasi (shrift hajmini aniqlaydi) • rang, qalinlik, chiziq turi va boshqalar kabi odatiy narsalar yaxshi ko'rinishi uchun lineType = cv2.LINE_AA tavsiya etiladi.
Biz tasvirimizni OpenCVon-ni oq rangda yozamiz.
Natija
Shunday qilib, chizilganimizning yakuniy natijasini ko'rish vaqti keldi. Oldingi maqolalarda o'qiganingizda, uni ko'rish uchun rasmni namoyish eting.
Do'stlaringiz bilan baham: |