OpenCv’de Resim Çevçeveleme ve Çözünürlüğe Göre İşlem

Merhaba dostlar, Mobilhanem.com sitemizde Python ile birlikte Görüntü İşleme Dersleri eğitim ve öğrenim serisine kaldığımız yerden devam et ediyoruz. Geçen dersimizde OpenCv’de Resim Okuma, Yazma İşlemleri ve Resim Özellikleri’nden bahsettik. Python ile birlikte Görüntü İşleme dersinde bu tam hafta ise  Resim Çevçeveleme İşlemi ve Çözünürlüğe Göre Pencere Boyutlandırma‘dan  bahsedeceğiz. Eğer bundan önceki dersimizi araştırma fırsatınız olmadıysa OpenCv’de Resim Okuma, Yazma İşlemleri ve Resim Özellikleri dersimize buradan  ulaşabilirsiniz.

OpenCv’de Temel İşlemler dersimizde işleyeceğimiz ilgilendirmek başlıklarımızı bir kez daha gözden geçirelim.

  • Resim Okuma ve Yazma İşlemleri
  • Resim Özellikleri
  • Resim Çerçeveleme İşlemi
  • Çözünürlüğe Göre Pencere Boyutlandırma
  • Format ve Yerleşme Değiştirme
  • Resim üstünde piramit oluşturma (Görüntü taşıma durumlarına bağlı olarak fotoğraf boyutlandırma)
  • Resime Dörtgen Ekleme
  • Resime Dizi ve Daire Ekleme
  • Resime Metin Ekleme İşlemleri

Geçen tam hafta OpenCv’de Temel İşlemler kısmı maddelerinde alan yer Resim Okuma ve Yazma İşlemleri ile birlikte Resim Özelliklerini bitirmiştik. Şu anda OpenCv’de Resim Çevçeveleme İşlemi ve Çözünürlüğe Göre Pencere Boyutlandırma işlemlerine hep hep birlikte bakalım.

Projemize çoğunlukla çerçeveleme işlemi yapacağımız bir fotoğraf ekleyelim. Bu işlemi kopyala yapıştır ile birlikte gerçekleştirebilirsiniz.

mobilhanem_resim_ekleme
Resim Ekleme İşlemi

 

1626782462 503 OpenCvde Resim Cevceveleme ve Cozunurluge Gore Islem
Resmin Eklenmiş Hali

 

Resmimizi ekledikten bundan sonra şu anda çerçeveleme işlemi için kodlarımızı yazabiliriz.

Ağırlıklı olarak cv2 kütüphanemizi projemize özellikli edelim. Projemize özellikli ettikten bundan sonra çevçeveleme işlemine başlamış olalım. İlk çoğunlukla resmimizi ekranda imshow komutu ile birlikte ekranımızda gösterelim.

mobilhanem_resim_gosterme
Resim Gösterme İşlemi

Resmimizi gösterdikten bundan sonra yapı rengini belirleyelim.

İstediğim her türlü rengin kodunu cervece_rengimiz adlı değişkenimize yolladık. Yapı işlemimizde  copyMakeBorder fonksiyonunu kullanacağız. Bu fonksiyonumuzun birden fazla parametresi bulunmaktadır. Kullanacağımız parametreler adları ve açıklamaları aşağıdaki gibidir.

mobilhanem_cerceve_ekleme_fonksiyon
copyMakeBorder Parametreleri

 

src: Çerçeveleme işlemi yapacağımız resmin yolu.

küre / bottom / left / right : En üstte,daha az,sol ve Düz kısımlarında alan yer çerçevenin px  bazında kalınlık oranları belirtilir.

value: Çerçeveleme türlerine bağlı olarak farklı renkler ya da tavsiye noktaları belirlenir.

borderType: Çerçeveleme türleri alan alır.

BorderType Türleri

  • cv2.BORDER_CONSTANT: Belirlenen renkte yapı ekler.
  • cv2.BORDER_REFLECT: Resmin sınırlar Ayna efekti eklenmiş olur.
  • cv2.BORDER_ REPLICATE: Resmin belirlenen px alanından çekme yapılmış şeklinde bir görüntü verir.
  • cv2.BORDER_WRAP: Son elemanının belli bir kısmında kesme işlemi yapar.

Yapı rengimizi verdikten bundan sonra rengimizi ve parametrelerimizi cv2.copyMakeBorder fonsiyonunda yerine koyalım. Yapı genişliğinde en üstte,daha az,sol ve Düz kısımları için 10px’lik gerçekten değer verdim. Cerceve değişkenine analiz yaptığımız yetkililer,yapı kalınlığını ,türünü ve rengini verdikten bundan sonra programımızı derleyelim.

mobilhanem_cerceve_eklendi
Resmin Yapı Eklenmiş Hali

 

Yukarıdaki resimde gördüğünüz şeklinde BORDER_CONSTANT  tipinde çerçevemizi etkili ekledik. Gelin şu anda çeşitli diğer yapı türlerimizi komut edelim.

BORDER_REFLECT

mobilhanem_cerceve_reflect
BORDER REFLECT Kullanımı

 

BORDER_REPLICATE

mobilhanem_cerceve_replicate
BORDER REPLICATE Kullanımı

 

BORDER_WRAP

mobilhanem_cerceve_wrap
BORDER WRAP Kullanımı

 

Yukarıda sayısız çerçeveleme işlemlerini gördük. Yaptığımız işlemi daha net görebilmek için 50px’lik bir gerçekten değer kullandım. Sizde resminize bağlı olarak bu değerleri değiştirebilirsiniz.

Çözünürlüğe Göre Pencere Boyutlandırma

Şu anda ise erişilebilir resmimizin çözünürlüğüne bağlı olarak penceremizi boyutlandırma işlemini yapalım.  Projenize her türlü bir fotoğraf ilave ederek bu işlemi gerçekleştirelim.  Ben yüksek bir çözünürlükte olan (6000×4000) fotoğraf kullanıyorum. Şu anda aşağıdaki kod bloğumuzu derlemeden geçmişte inceleyelim.

İlk çoğunlukla imread fonksiyonumuz ile birlikte resmimizi fotoğraf değişkenimize atıyoruz. Belirlediğimiz göstermek çözünürlüğe bağlı olarak cozunurluk isminde ayarlanabilir oluşturup bu yerleşme değerlerini değişkenimize gönderiyoruz. Resmimizin ev penceresi boyutunda kullanacağımız  genişlik ölçeği için shape[1]  komutunu kullanarak erişilebilir resmimizin genişlik ölçeğini alıyoruz. Aynı işlemi shape[0]  komutunu kullanarak {yükseklik} için yapıyoruz. Bizim belirlediğimiz yerleşme değişkenimizin genişlik ve {yükseklik} kıymetini resmimizden aldığımız genişlik ve {yükseklik} değerine bölüyoruz. Ortaya çıkan değerlerin Minimum gerekli değerlerini alıp son zamanlarda Aralık değerimizi oluşturuyoruz. Daha bundan sonra son zamanlarda  genişlik ve {yükseklik} değerlerimizi ortaya çıkarıyoruz. Bu işlemden bundan sonra namedWindow fonksiyonunda alan yer ve boyutlandırılabilir bir ev penceresi kullanabilmek için WINDOW_NORMAL  hususi durumunu seçiyoruz. Yeni genişlik ve {yükseklik} değerlerimizi resizeWindow fonsiyonunda yerine koyarak işlemimizi tamamlıyoruz.

mobilhanem_yeniden_boyutlandirna
640×480’lik Yeniden Boyutlandırılmış Penceremiz

 

Mobilhanem.com da Python ile birlikte Görüntü İşleme serisinde bir dersin daha sonuna geldik. Bu tam hafta Python ile birlikte Görüntü İşleme dersimizde OpenCv’de Resim Çevçeveleme İşlemi ve Çözünürlüğe Göre Pencere Boyutlandırma‘dan bahsettik. Umarım sizin için değerli bir yaratmak olmuştur. Bir başarılı  OpenCv ‘de Temel İşlemlerde devam et edeceğimiz Format ve Yerleşme Değiştirme dersinde görüşmek suretiyle. Eksik ya da uygunsuz gördüğünüz bir faktör var ise tatmin etmek iletişime geçmekten çekinmeyin.

Tüm Görüntü İşleme Dersleri için tıklayınız.

Kaynak : Link  

10

Gönderiyi görüyorsun: OpenCv’de Resim Çevçeveleme ve Çözünürlüğe Göre İşlem

Kaynak: https://lorenzolesite.com

Kategori: teknoloji

Leave a Reply