İnternetten Negatif Resim İndirme
Yazdığımız Kodlar
import urllib.request,cv2,os,time
def n_resim():
negatif_resimlerin_linki = 'http://www.image-net.org/api/text/imagenet.synset.geturls?wnid=n07750872'
negatif_resim_linki = urllib.request.urlopen(negatif_resimlerin_linki).read().decode()
if not os.path.exists('n'):
os.makedirs('n')
resim_numarası = time.time()
for i in negatif_resim_linki.split('\n'):
try:
print(i) # n\1.jpg
urllib.request.urlretrieve(i, "n/"+str(resim_numarası)+'.jpg')
# n\1.jpg
resim = cv2.imread("n/"+str(resim_numarası)+'.jpg', cv2.IMREAD_GRAYSCALE)
yeniden_boyutlandır = cv2.resize(resim,(100,100))
cv2.imwrite("n/"+str(resim_numarası)+'.jpg', yeniden_boyutlandır)
resim_numarası +=1
except Exception as e:
print(str(e))
n_resim()
Resimlerimizi http://image-net.org/ adresinden indirdik
Kullandığımız Videolar
Haar Cascade Nedir. Nesneyi Nasıl Tanır.
İnterntetten Negatif Resim İndirme
İstenmeyen Resimlerin Silinmesi
İstenmeyen Resimlerin Silinmesi
Yazdığımız Kodlar
import urllib.request, cv2, os
import numpy as np
def bozuk_resim():
for dosya_adı in ['n']:
for n_resim in os.listdir(dosya_adı):
for bozuk_resim in os.listdir('bozukresim'):
try:# n/resim_adı.jpg
dosya_yolu_adı = str(dosya_adı)+'/'+str(n_resim)
## bozukresim/1514398749.284758.jpg
bozuk_resim = cv2.imread('bozukresim/'+str(bozuk_resim))
karşılaştır = cv2.imread(dosya_yolu_adı)
if bozuk_resim.shape == karşılaştır.shape and not (np.bitwise_xor(bozuk_resim,karşılaştır).any()):
print('Resim Silindi'+dosya_yolu_adı)
os.remove(dosya_yolu_adı)
except Exception as e:
print(str(e))
bozuk_resim()
Pozitif Resim ve Haar Cascade Oluşturma
Pozitif Resim Oluşturma ve Haar Cascade Yazılımının Kullanımı
Kullandığımız Yazılımın Sitesi http://amin-ahmadi.com/cascade-trainer-gui/
İndirme Linki amin-ahmadi.com/downloadfiles/cascadetrainergui/CascadeTrainerGUI_3.3.1_x64_Setup.exe
Pozitif Resimlerimizi (50,50) olacak şekilde yeniden boyutlandırma işlemi yaptık. Yapmasanız'da olur.
Kullandığımız Kodlar
import cv2,os
import numpy as np
def resim_ölçekle():
resim_numarası = 1
for klasör_adı in ['p']:
for resim_listesi in os.listdir(klasör_adı):
try:
resmin_adresi = str(klasör_adı)+'/'+str(resim_listesi)
resim = cv2.imread(resmin_adresi)
yeniden_ölçekle = cv2.resize(resim,(50,50))
cv2.imwrite("p/"+str(resim_numarası)+'.jpg', yeniden_ölçekle)
resim_numarası += 1
except Exception as e:
print(str(e))
resim_ölçekle()
Video Dosyasından Pozitif Resim Oluşturma
Video Dosyasından Pozitif Resim Oluşturma İşlemi
Kullandığımız Video Oynatma Yazılımının Sitesi https://www.videolan.org/index.tr.html
OpenCv ile Video Dosyasından Nesne Tanıma
OpenCV ile Video Dosyasından Şeftali Tanıma
Kullandığımız Kodlar
import cv2
seftalicascade = cv2.CascadeClassifier('cascade1.xml')
kamera = cv2.VideoCapture('Meyveci - Bursa - Şeftali[Low,480x360,Mp4].mp4')
while True:
tf, gelenvideo = kamera.read()
gri = cv2.cvtColor(gelenvideo, cv2.COLOR_BGR2GRAY)
seftali = seftalicascade.detectMultiScale(gri)
for (x,y,w,h) in seftali:# Mavi,yeşil,kırmızı
cv2.rectangle(gelenvideo, (x,y), (x+w,y+h), (255,100,0), 2)
cv2.putText(gelenvideo, 'Seftali', (x,y), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255,100,0), 2, cv2.LINE_AA)
cv2.imshow('Bulundu',gelenvideo)
cv2.imshow('Seftali Resmi',seftali_resmi)
cv2.imshow('Seftali Bul',gelenvideo)
if cv2.waitKey(1) & 0xff == 27:
break
kamera.release()
cv2.destroyAllWindows()
Görüntünün Döndürülmesi İşlemi
OpenCV ile Video'nun Döndürülmesi
Kullandığımız Kodlar
import cv2
seftalicascade = cv2.CascadeClassifier('cascade1.xml')
kamera = cv2.VideoCapture('Meyveci - Bursa - Şeftali[Low,480x360,Mp4].mp4')
while True:
tf, gelenvideo = kamera.read()
if tf == True:
gelenvideo = cv2.flip(gelenvideo,0)
gri = cv2.cvtColor(gelenvideo, cv2.COLOR_BGR2GRAY)
seftali = seftalicascade.detectMultiScale(gri)
for (x,y,w,h) in seftali:# Mavi,yeşil,kırmızı
cv2.rectangle(gelenvideo, (x,y), (x+w,y+h), (255,100,0), 2)
cv2.putText(gelenvideo, 'Seftali', (x,y), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255,100,0), 2, cv2.LINE_AA)
print('Şeftali Bulundu')
cv2.imshow('Bulundu',gelenvideo)
seftali_resmi = gelenvideo[y:y+h, x:x+w]
cv2.imshow('Seftali Resmi',seftali_resmi)
print(seftali)
cv2.imshow('Seftali Bul',gelenvideo)
if cv2.waitKey(1) & 0xff == 27:
break
kamera.release()
cv2.destroyAllWindows()