Home>>OpenCV>>OpenCV Çizim Fonksiyonları
OpenCVPython

OpenCV Çizim Fonksiyonları

Yeni bir yazımda herkese merhaba. Bu yazıda, Python OpenCV kullanarak geometrik şekillerin kullanımından bahsedeceğim.

OpenCV ile farklı geometrik şekiller çizebiliyoruz.
Bu şekiller; cv.line() , cv.circle() , cv.rectangle() , cv.ellipse() fonksiyonları ile çizilir.
Bu fonksiyonların ortak özellikleri ise şöyledir;
img : Şekilleri çizmek istediğiniz tuval/resim
color: Şeklin rengi. OpenCV de renkler BGR olarak girilir. Örneğin: mavi için (255,0,0) yazılır.
kalınlık: Şekillerin kalınlığı. Daire gibi kapalı şekilleri doldurmak için -1 değeri girilir. Varsayılan kalınlık 1’dir.
Biraz daha detaya girip örneklerle anlatayım.
İlk önce NumPy kullanarak boş bir tuval oluşturalım.

import numpy as np
from cv2 import cv2

img = np.zeros((315,512,3), np.uint8) + 255

Örnekleri bu tuval üzerinden yapacağız.

cv2.rectangle

cv2.rectangle(tuval,
						(tepe noktası),
						(karşı tepe noktası),
						(B,G,R),
						kalınlık)

tepe noktası = (X, Y)
karşı tepe noktası = (X, Y)
B G R = (0, 0, 0)
kalınlık = int()

Örnek:

cv2.rectangle(img, (25, 25), (487, 160), (0, 255, 0), 3)
Çıktı

cv2.circle

cv2.circle(tuval,
				(Çember merkez noktası),
				(yarıçapı),
				(B,G,R),
				kalınlık)

Çember merkez noktası = (X, Y)
yarıçapı = 8
B G R = (0, 0, 0)
kalınlık = int()

Örnek:

cv2.circle(img, (256,210), 45, (0, 0, 0), 3)
cv2.circle(img, (235,210), 15, (0, 0, 255), -1)
cv2.circle(img, (255,210), 15, (0, 255, 0), -1)
cv2.circle(img, (275,210), 15, (255, 0, 0), -1)
Çıktı

cv2.line

cv2.line(tuval,
			(başlangıç noktası),
			(bitiş noktası),
			(B,G,R),
			kalınlık)

Başlangıç noktası = (X, Y)
Bitiş noktası = (X, Y)
B G R = (0,0,0)
kalınlık = int()

Örnek:

cv2.line(cizim, (120,256), (410,256), (0,0,0), 4)
cv2.line(cizim, (256,162), (256,256), (0,0,0), 2)
Çıktı

cv2.putText

cv2.putText(tuval,
				(metin),
				(koordinat),
				(yazı tipi),
				(yazı boyutu),
				(B,G,R),
				kalınlık)

Metin = str()
Koordinat = (X, Y)
B G R = (0,0,0)
Yazı Boyutu float()
kalınlık = int()

Örnek:

font = 
cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,"YAZILIMFURYASI.com",(150,280),font,
0.7, (255,60,0),
1,
cv2.LINE_AA)

Tüm bu kodları birleştirip deneyelim 🙂

img = np.zeros((315,512,3), np.uint8) + 255
font = cv2.FONT_HERSHEY_SIMPLEX

cv2.rectangle(img, (25,25), (487, 160), (0, 255, 0), 3)

cv2.circle(img, (256,210), 45, (0, 0, 0), 3)
cv2.circle(img, (235,210), 15, (0, 0, 255), -1)
cv2.circle(img, (255,210), 15, (0, 255, 0), -1)
cv2.circle(img, (275,210), 15, (255, 0, 0), -1)

cv2.line(img, (120,256), (410,256), (0,0,0), 4)
cv2.line(img, (256,162), (256,256), (0,0,0), 2)

cv2.putText(img, "OpenCV", (150,100), font, 2, (0,0,0), 3, cv2.LINE_AA)
cv2.putText(img, "Cizim Fonksiyonlari | Drawing Functions", (100,140), font, 0.5, (0,0,0), 1, cv2.LINE_AA)
cv2.putText(img, "YAZILIMFURYASI.com", (150,280), font, .7, (255,60,0), 1, cv2.LINE_AA)

cv2.imshow("OpenCV", img)
cv2.imwrite("resimKaydet.png", img)
cv2.waitKey(0)

Çıktımız şu şekilde olacaktır.

OpenCV ile ilgili yazılarıma bakmak için tıklayın

instagram‘dan takip edebilir, pratik bilgileri oradan öğrenebilirsiniz.

Kaynak:

https://docs.opencv.org/4.x/dc/da5/tutorial_py_drawing_functions.html

Adblock Detected

Lütfen reklam engelleyicinizi devre dışı bırakarak bizi destekleyin.

Refresh Page