fPaste.me

A free, anonymous, minimalist and open source paste tool.


Untitled
07-06-2021 13:25:27
Anonymous
# sekilduzeltme.png
# resim.PNG dosyasındaki nesneleri renklerine göre tespit ediniz.
# Nesnelerdeki renk bozulmalarını mümkün olduğunca gideriniz.


import cv2
import numpy as np

# resim de bulunan sekiller ve rgb kodlari
rgbtuple = [[(255,255,255), "BeyazYildiz"],
[(255, 127, 39), "TuruncuKare"],
[(255, 242, 0), "SariUcgen"],
[(23,28,36), "KirmiziElips"],
[(136,0,21), "KirmiziElips2"],
[(34,177,76), "YesilDaire"],
[(153,217,234), "MaviDaire"],
[(0, 162, 232), "MaviBosluk"],
[(0, 0, 0), "SiyahCubuk" ]]

# mause ile uzerinde gezmek icin bir fonksiyon
def rgbrenkilesekil(event, x, y, flags, param):
if event == cv2.EVENT_MOUSEMOVE : # mause hareket kontrolu
colorsBGR = image[y, x]

# opencv bgr olarak oku rgb formata cevirme
colorsRGB=tuple(reversed(colorsBGR))
# rgb degerleri ekrana yazdırma
print("RGB Value at ():{} ".format(colorsRGB))

if any( colorsRGB == x[0] for x in rgbtuple ):

sa = [i[1] for i in rgbtuple if i[0]== colorsRGB ]
print(sa)

if any( colorsRGB == x[0] for x in rgbtuple ):
for i in rgbtuple:
if i[0] == colorsRGB:
# ("Bulunduğumuz mause konum bu")
print(i[1])



def unsharp_mask(image, kernel_size=(5, 5), sigma=1.0, amount=1.0, threshold=0):
"""Return a sharpened version of the image, using an unsharp mask."""
# resimi gasussian blur islemine girdi olarak verme
blurred = cv2.GaussianBlur(image, kernel_size, sigma)
# keskinlik hesaplama
sharpened = float(amount + 1) * image - float(amount) * blurred
# max ve min degerleri hesaplama
sharpened = np.maximum(sharpened, np.zeros(sharpened.shape))
sharpened = np.minimum(sharpened, 255 * np.ones(sharpened.shape))
# keskinlik degeri yuvarlama
sharpened = sharpened.round().astype(np.uint8)
# thresold esik değeri ayarlama
if threshold > 0:
low_contrast_mask = np.absolute(image - blurred) < threshold
np.copyto(sharpened, image, where=low_contrast_mask)
return sharpened


#print("RGB Value at ({},{}):{} ".format(x,y,colorsRGB))
# resim okuma imread ile opencv sayesinde
image = cv2.imread("../../ortak-veri/sekilduzeltme.png")
# resize olarak kucuk resimi 2 katına buyultme
imagers = cv2.resize(image,(image.shape[0]*2,image.shape[0]*2))

# median blur uygulama ortalama degerler ile daha yakın goruntuler
image_median = cv2.medianBlur(imagers, 5)

# matrsisel islemler ile goruntu iyilestirme
image = unsharp_mask(image_median)


# pencere ismi
cv2.namedWindow("hello")

# Do until esc pressed
while (1):
# sonsuz dongu icinde resim gosterme
cv2.imshow("hello", image)
# sonsuz dongu ıcınde resim gosterip mause ile uzreinde gezme
cv2.setMouseCallback("hello", rgbrenkilesekil)

if cv2.waitKey(10) & 0xFF == 27:
break
# esc ye bastıgınız an cıkar
cv2.destroyAllWindows()