Dr. GÜRAY SONUGÜR

Dr. Öğr. Üyesi Güray SONUGÜR – Öğrenci Bilgi Paylaşım Platformu

GÖRÜNTÜ İŞLEME DERSİ VİZE SINAVI YANITLARI (GÜZ 2022-2023)

Gİ-Vize-2022-2023-Yanıtlar (pdf)

 

AFYON KOCATEPE ÜNİVERSİTESİ

MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ

GÖRÜNTÜ İŞLEME DERSİ VİZE SINAVI YANITLARI (GÜZ 2022-2023)

 

desenler.jpg adlı BGR resim verilmiştir. jpg adlı BGR resim verilmiştir. Resmin boyutları 390x510x3’dür. Bu resmi:

  • Yatay olarak 3 eşit parçaya bölünüz.
  • Tüm bölümleri gri seviyeye çeviriniz.
  • İlk bölümündeki piksellerin değeri 150’den küçük ise 0 büyük ise 255 yapınız.
  • İkinci bölümde kırmızı renkli pikselleri 255 diğerlerini 0 yapınız. (Eşik değer=50) (Ekstra Puan)
  • Üçüncü bölümdeki piksel değerlerinin tümleyenlerini alınız.
  • Sonra tüm bölümleri tekrar birleştiriniz ve ilk resmi ve son resmi görüntüleyiniz.

 

 

import numpy as np

import cv2

from matplotlib import pyplot as plt

 

y = cv2.imread(‘desenler.jpg’)

y=cv2.resize(y, (510,390)) #SİZLER İÇİN BU SATIRA GEREK YOK

x=cv2.cvtColor(y,cv2.COLOR_BGR2GRAY)

x1=x[:130]

x2=x[131:261,:]

x3=x[260:]

 

#1. BÖLÜM

a1,x1=cv2.threshold(x1, 150, 255, cv2.THRESH_BINARY)

 

#2. BÖLÜM

x2MaviBant=y[131:261,:,2]#Mavi yazdığına bakmayın aslında kırmızı 😊

x2=cv2.subtract(x2, x2MaviBant)

a2,x2=cv2.threshold(x2,50,255,cv2.THRESH_BINARY)

 

#3. BÖLÜM

x3=255-x3

#BİRLEŞTİRME

x=cv2.vconcat([x1,x2,x3])

plt.subplot(1,2,1);plt.imshow(y)

plt.subplot(1,2,2);plt.imshow(x,’gray’,vmin=0,vmax=255)

plt.show()

2.) Balon.jpg ve headquarters-2.jpg  resimleri verilmiştir. Aşağıda verilen şekilde açıklandığı gibi 1. resimdeki çerçeveli alanı 2. resimdeki çerçeveli alana taşıyacak bir program yazınız. Program “for” döngüsü kullanarak ve kullanmadan ayrı ayrı yazılacaktır. Ayrıca 2. resmin orijinal hali ile son halini yan yana görüntüleyiniz. Elde edilmesi gereken ekran görüntüsü aşağıda verilmiştir.

#FOR DÖNGÜSÜ OLMADAN

import numpy as np

import cv2

from matplotlib import pyplot as plt

x = cv2.imread(‘balon.jpg’)

y = cv2.imread(‘headquarters-2.jpg’)

z= cv2.imread(‘headquarters-2.jpg’)

z[50:101,50:101]=x[50:101,50:101]

tum=cv2.hconcat([y,z])

cv2.imshow(‘Tum Resim’,tum)

cv2.waitKey(0)

cv2.destroyAllWindows()

 

#FOR DÖNGÜSÜ KULLANARAK

import numpy as np

import cv2

from matplotlib import pyplot as plt

x = cv2.imread(‘balon.jpg’)

y = cv2.imread(‘headquarters-2.jpg’)

z = cv2.imread(‘headquarters-2.jpg’)

for i in range(x.shape[0]):

for j in range(x.shape[1]):

if ((i>=50) and (i<=100) and (j>=50) and (j<=100)):

y[i,j]=x[i,j]

tum=cv2.hconcat([z,y])

cv2.imshow(‘Tum Resim’,tum)

cv2.waitKey(0)

cv2.destroyAllWindows()