Manba: Aleksandr Mordvintsev & Abid k noyabr 05, 2017


Tasvirlarning geometrik o'zgarishi



Download 12,25 Mb.
bet14/16
Sana03.01.2022
Hajmi12,25 Mb.
#314973
1   ...   8   9   10   11   12   13   14   15   16
Bog'liq
1-jamlanma(lab-amaliy)

Tasvirlarning geometrik o'zgarishi

Maqsadlar

• Turli geometrik o'zgarishlarni rasmlarga tarjima, aylantirish, afinaviy o'zgartirish va hokazolarni qo'llashni o'rganish.

• Siz ushbu funktsiyalarni ko'rasiz: cv2.getPerspectiveTransform

O'zgarishlar

OpenCV ikkita transformatsion funktsiyani taqdim etadi, cv2.warpAffine va cv2.warpPerspective, ular yordamida siz ega bo'lishingiz mumkin.

har qanday o'zgarishlar. cv2.warpAffine 2x3 aylantirish matritsasini oladi, cv2.warpPerspective esa kirish uchun 3x3 aylantirish matritsasini oladi.

Miqyos


Masshtablash bu shunchaki tasvir hajmini o'zgartirish. Buning uchun OpenCV cv2.resize () funktsiyasi mavjud. Hajmi rasm qo'lda ko'rsatilishi mumkin yoki siz masshtablash omilini belgilashingiz mumkin. Turli xil interpolyatsiya usullari ishlatilgan. Interpolatsiyalashning afzal usullari - cv2.INTER_AREA kichrayishi va cv2.INTER_CUBIC (sekin) & kattalashtirish uchun cv2.INTER_LINEAR. Odatiy bo'lib, interpolatsiya usuli cv2.INTER_LINEAR barcha o'lchamlarini o'zgartirish uchun ishlatiladi

maqsadlar. Quyidagi usullardan ikkitasini kiritish mumkin:



Harakatlantirish.

Harakatlantirish - bu ob'ekt joylashuvining o'zgarishi. Agar siz (x, y) yo'nalishda siljishni bilsangiz, shunday bo'lsin, yaratishingiz mumkin

o'zgartirish M matritsasi quyidagicha:



Siz uni np.float32 turidagi Numpy massiviga kiritib, uni cv2.warpAffine () funktsiyasiga o'tkazishingiz mumkin. (100,50) o'zgarishi uchun quyidagi misolga qarang:



Ogohlantirish: cv2.warpAffine () funktsiyasining uchinchi argumenti (kenglik, balandlik) shaklida bo'lishi kerak bo'lgan chiqish hajmining o'lchamidir. Esda tuting kenglik = ustunlar soni va balandlik = qatorlar soni.

Quyidagi natijani ko'ring:

Burilish


Tasvirni burchak uchun aylantirishga shaklning matritsasi orqali erishiladi

Ammo OpenCV sizga aylantirilishi mumkin bo'lgan aylanish markazi bilan kengaytirilgan aylanishni ta'minlaydi, shunda siz xohlagan joyda aylanishingiz mumkin. Modifikatsiyalangan transformatsiya matritsasi quyidagicha berilgan



Ushbu o'zgartirish matritsasini topish uchun OpenCV cv2.getRotationMatrix2D funktsiyasini taqdim etadi. Tasvirni hech qanday masshtabsiz markazga nisbatan 90 daraja aylantiruvchi misolni tekshiring.



Natija:


Affine transformatsiyasi

Afinani o'zgartirishda, dastlabki rasmdagi barcha parallel chiziqlar chiqish rasmiga parallel ravishda qoladi. Transformatsion matritsani topish uchun, biz kirish rasmidan uchta nuqta va chiqish rasmidagi mos keladigan nuqtalar kerak. Keyin cv2.getAffineTransform 2x3 matritsani yaratadi, uni cv2.warpAffine-ga o'tkazish kerak.

Quyidagi misolga (yashil rang bilan belgilangan) qarang:



Natija:


Istiqbolli o'zgarish

Istiqbolli konvertatsiya qilish uchun sizga 3x3 aylantirish matritsasi kerak. To'g'ri chiziqlar transformatsiyadan keyin ham to'g'ri qoladi. Ushbu transformatsion matritsani topish uchun kirish rasmiga 4 nuqta va chiqish rasmidagi mos keladigan nuqtalar kerak. Ushbu 4 nuqta orasida ulardan 3 tasi bir-biriga to'g'ri kelmasligi kerak. Keyin transformatsiya matritsasi bo'lishi mumkin

cv2.getPerspectiveTransform funktsiyasi bilan topilgan. Keyin bu 3x3 aylantirish matritsasi bilan cv2.warpPerspective-ni qo'llang.

Quyidagi kodni ko'ring:



Natija:





      1. Download 12,25 Mb.

        Do'stlaringiz bilan baham:
1   ...   8   9   10   11   12   13   14   15   16




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish