Hazır Metot Kullanmadan Görüntüyü Sağa Döndürme

Merhaba arkadaşlar, bu yazımda hazır bir metot kullanmadan görüntüyü sağa döndürme işlemini anlatacağım.

Bunun da hazır metotu OpenCV de mevcut. Fakat ben sizlere for döngüsü ile bu işlem nasıl yapılır onu anlatacağım. Öncelikle kütüphanelerimizi ekliyoruz. Sonrasında görseli okumayla başlıyoruz.

 

# Kütüphane Ekleme
import cv2 
import numpy as np
# Görseli okuma ve ekranda gösterme

resim = cv2.imread("BoluYedigoller.jpg")
cv2.imshow("Orjinal Resim",resim)

Şimdi hazır bir fonksiyon kullanmadan görselimizi 90 derece sağa çevirelim. Bunun için sağa döndür adında bir fonksiyon oluşturuyorum. İçerisine de resim parametresi alacak.

Burada transpoz işlemi yapacağız. Bilmiyorsanız şöyle anlatayım.Transpoz işlemi görseli

Satırların sütun olması. Bunu da birinci ve üçüncü sütunları değiştirerek sağa çevirmiş olacağız. Bu kısım da sorun yaşıyorsanız transpoz işlemlerine ve matris işlemlerine bakmanızı tavsiye ederim.

Görüntüyü Sağa Döndürme Fonksiyonu

Az önce dediğim transpoz işlemini yaptıktan sonra boylam kısmının yerini değiştireceğiz. Bunu da j = boy-j-1 ile sağlayacağız. Fonksiyonumuz aşağıdadır.

def sagaDondur(resim):
    resimT = resim.transpose() #transpoz alma
    katman,en,boy = np.shape(resimT) # transpoz aldığımızda dizilim de katman başa geliyor
    yeniResim = np.zeros((en,boy,katman), dtype=np.uint8) #tamamı 1 matris 
    
    
    for i in range(en-1):
        for j in range(boy-1):
            for k in range(katman):
                yeniResim[i,j,k] = resimT[k,i,boy-j-1]
            
            
    cv2.imshow("SagaDonmusResim",yeniResim)

sagaDondur(resim)

Transpozunu aldığımız görselimizin en, boy ve katman değerlerini aldık. Ona göre yeni bir resim oluşturduk. Ve 3 tane for döngüsüne giriyoruz. Yeni oluşturacağımız resmin i,j,k değerleri transpozunu aldığımız resmin k,i ve boy-j-1 değerlerinden oluşması gerektiğinden ona göre eşitleme yapıyoruz ve bitiyor.

Ekran Görüntüsü:

görüntüyü sağa döndürme görüntü işleme python

Umarım faydalı olmuştur.

 

Bunlara Göz Atmak İsteyebilirsiniz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir