OpenCV tasvir atrofida chegara yaratish uchun cv2.copyMakeBorder() funksiyasini taqdim etadi, masalan, foto ramka. Funktsiyaning sintaksisi quyida keltirilgan.
cv2.copyMakeBorder(src,tepa,pastki,chap,o'ng,chegara turi)
Parametrlar:
src - Kirish tasvirini bildiradi.
yuqori, pastki, chap, o'ng - U tegishli yo'nalishdagi piksellar sonida chegara kengligini belgilaydi.
borderType - Bu qanday chegara qo'shilishi kerakligini belgilaydi. Chegaraning quyidagi turlari bo'lishi mumkin.
qiymat - Agar chegara turi cv.BORDER_CONSTANT bo'lsa, chegara rangi
Quyidagi misolni ko'rib chiqing:
cv2ni cv sifatida import qiling
numpy ni np sifatida import qiling
matplotlib dan pyplotni plt sifatida import qiling
KO'K = [ 255 , 0 , 0 ]
img1 = cv.imread(r images\flower.jpg' , 1 )
replikatsiya = cv.copyMakeBorder(img1, 10 , 10 , 10 , 10 ,cv.BORDER_REPLICATE)
refle = cv.copyMakeBorder(img1, 10 , 10 , 10 , 10 ,cv.BORDER_REFLECT)
reflect101 = cv.copyMakeBorder(img1, 10 , 10 , 10 , 10 ,cv.BORDER_REFLECT_101)
wrap = cv.copyMakeBorder(img1, 10 , 10 , 10 , 10 ,cv.BORDER_WRAP)
doimiy = cv.copyMakeBorder(img1, 10 , 10 , 10 , 10 ,cv.BORDER_CONSTANT,qiymat=KO‘K)
plt.subplot ( 231 ), plt.imshow (img1, 'kulrang' ), plt.title ( 'ORIGINAL' )
plt.subplot ( 232 ), plt.imshow (replikatsiya, 'kulrang' ), plt.title ( 'REPLICATE' )
plt.subplot ( 233 ), plt.imshow (aks ettiradi, 'kulrang' ), plt.title ( 'REFLECT' )
plt.subplot ( 234 ), plt.imshow (reflect101, 'kulrang' ), plt.title ( 'REFLECT_101' )
plt.subplot ( 235 ), plt.imshow (o‘rash, 'kulrang' ), plt.title ( 'WRAP' )
plt.subplot ( 236 ), plt.imshow (doimiy, 'kulrang' ), plt.title ( 'DOIMLI' )
plt.show()
Do'stlaringiz bilan baham: |