Advertisement
Guest User

Untitled

a guest
May 21st, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.24 KB | None | 0 0
  1. import cv2
  2. import numpy as np
  3. from matplotlib import pyplot as plt
  4.  
  5. if __name__ == "__main__":
  6.     def zad1():
  7.         #wczytanie obrazu
  8.         img = cv2.imread("k.jpg",cv2.IMREAD_COLOR)
  9.         #tworzenie detektora
  10.         fast = cv2.FastFeatureDetector_create()
  11.         #szukanie cech punktowych
  12.         kp = fast.detect(img,None)
  13.         img = cv2.drawKeypoints(img,kp,None)
  14.         print(len(kp))
  15.         key = ord('a')
  16.         while key != ord('q'):
  17.             cv2.imshow("Zad1", img)
  18.             key = cv2.waitKey(0)
  19.  
  20.     def zad2():
  21.         #wczytanie obrazu
  22.         img1 = cv2.imread("k.jpg",cv2.IMREAD_COLOR)
  23.         #pobranie wymiarow
  24.         w,h,b = img1.shape
  25.         #tworzenie macierzy do translacji
  26.         M = cv2.getRotationMatrix2D((h / 2, w / 2), 90, 1)
  27.         #obraz obruzony o 90
  28.         img2 = cv2.warpAffine(img1, M, (h, w))
  29.         #tworzenie detektora fast
  30.         #fast = cv2.FastFeatureDetector_create()
  31.         #tworzenie detektora ORB ograniczenie do 50 cech punktowych
  32.         ORB = cv2.ORB_create(nfeatures=50)
  33.         # szukanie cech punktowych fast
  34.         #KP1 = fast.detect(img1,None)
  35.         #KP2 = fast.detect(img2,None)
  36.         #szukanie cech punktowych ORB
  37.         kp1 = ORB.detect(img1,None)
  38.         kp2 = ORB.detect(img2,None)
  39.         #tworzenie deskryptorow fast
  40.         #KP1, DES1 = fast.compute(img1,KP1)
  41.         #KP2, DES2 = fast.compute(img2, KP2)
  42.         #tworzenie deskryptorow ORB
  43.         kp1, des1 = ORB.compute(img1,kp1)
  44.         kp2, des2 = ORB.compute(img2, kp2)
  45.         #tworzenie obiektu dopasowania
  46.         BFM = cv2.BFMatcher(cv2.NORM_HAMMING)
  47.         # szukanie dopasowan fast
  48.         #matches2 = BFM.match(DES1, DES2)
  49.         #szukanie dopasowan ORB
  50.         matches = BFM.match(des1,des2)
  51.         #rysowanie dopasowan ORB
  52.         img3 = cv2.drawMatches(img1,kp1,img2,kp2,matches, None)
  53.         #rysowanie dopasowan fast
  54.         #img4 = cv2.drawMatches(img1,KP1, img2,KP2 ,matches2, None)
  55.  
  56.         key = ord('a')
  57.         while key != ord('q'):
  58.             cv2.imshow("Dopasowania orb", img3)
  59.             #cv2.imshow("Dopasowania fast", img4)
  60.             key = cv2.waitKey(0)
  61.  
  62.     def zad3():
  63.         face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
  64.         eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
  65.         img = cv2.imread("t.jpg",cv2.IMREAD_COLOR)
  66.         gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  67.         faces = face_cascade.detectMultiScale(gray, 1.3, 5)
  68.         for (x, y, w, h) in faces:
  69.             img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
  70.             twarz = img[y:y+h, x:x+w]
  71.             roi_gray = gray[y:y + h, x:x + w]
  72.             roi_color = img[y:y + h, x:x + w]
  73.             eyes = eye_cascade.detectMultiScale(roi_gray)
  74.             for (ex, ey, ew, eh) in eyes:
  75.                 cv2.rectangle(roi_color, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 2)
  76.                 oczy = roi_color[ey:ey+eh,ex:ex+ew]
  77.  
  78.         key = ord('a')
  79.         while key != ord('q'):
  80.             cv2.imshow("Oczy",oczy)
  81.             cv2.imshow("Twarz",twarz)
  82.             cv2.imshow("Obraz", img)
  83.             key = cv2.waitKey(30)
  84.  
  85.  
  86.     def zad4():
  87.         face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
  88.         eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
  89.         cap = cv2.VideoCapture(0)
  90.         key = ord('a')
  91.         while key != ord('q'):
  92.             ret, img = cap.read()
  93.             gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  94.             faces = face_cascade.detectMultiScale(gray, 1.3, 5)
  95.             for (x, y, w, h) in faces:
  96.                 img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
  97.                 twarz = img[y:y + h, x:x + w]
  98.                 roi_gray = gray[y:y + h, x:x + w]
  99.                 roi_color = img[y:y + h, x:x + w]
  100.                 eyes = eye_cascade.detectMultiScale(roi_gray)
  101.                 for (ex, ey, ew, eh) in eyes:
  102.                     cv2.rectangle(roi_color, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 2)
  103.                     oczy = roi_color[ey:ey + eh, ex:ex + ew]
  104.             cv2.imshow("Oczy", oczy)
  105.             cv2.imshow("Twarz", twarz)
  106.             cv2.imshow("Obraz", img)
  107.             key = cv2.waitKey(30)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement