This commit is contained in:
Arne van Iterson 2023-09-13 22:07:17 +02:00
parent 568ebfec97
commit 9a24c5ab70
16 changed files with 115 additions and 0 deletions

6
README.md Normal file
View File

@ -0,0 +1,6 @@
This repository contains all files for the Image recognition course of HU Electrical Engineering year 3.
---
Arne van Iterson
Tom Selier

0
md/notes.md Normal file
View File

18
md/nuts.md Normal file
View File

@ -0,0 +1,18 @@
### Jullie gaan noten herkennen
Hoe de neuk? Nut.
1. Hoe gaan we de noten herkennen (beeld, smaak, geluid, text)?
- Beeldherkenning lol
2. Wat zijn de visuele kenmerken van de noten?
- Vorm, kleur, textuur, grootte
3. Hoeveel noten willen we herkennen
- Qua type, hoeveel verschillende noten
- Qua tijd, hoeveel noten tegelijkertijd
4. Wat is de achtergrond
5. Met wat voor camera worden de noten bekeken
6. Is de noot verwerkt
De deelvragen moeten sequentieel zijn
Wij moeten presenteren volgende week

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

44
src/adj.py Normal file
View File

@ -0,0 +1,44 @@
import cv2
import numpy as np
blur = 3
canny_low = 255
canny_high = 50
def on_change(value):
pass
img = cv2.imread("./res/trees/berk_sq1_original.png")
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
width = int(img.shape[1] * 40 / 100)
height = int(img.shape[0] * 40 / 100)
dim = (width, height)
# resize image
img = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)
cv2.imshow('frame', img)
cv2.createTrackbar('Contrast', 'frame', 0, 25, on_change)
cv2.createTrackbar('Canny low', 'frame', 0, 1000, on_change)
cv2.createTrackbar('Canny high', 'frame', 0, 1000, on_change)
while(1):
# get data from trackbars
blur = cv2.getTrackbarPos('Blur rate', 'frame')
canny_low = cv2.getTrackbarPos('Canny low', 'frame')
canny_high = cv2.getTrackbarPos('Canny high', 'frame')
# Canny Edge Detection
edges = cv2.Canny(image=img, threshold1=canny_low, threshold2=canny_high)
# Display Canny Edge Detection Image
cv2.imshow("Canny Edge Detection", edges)
# wait for escape
k = cv2.waitKey(5) & 0xFF
if k == 27:
break
cv2.destroyAllWindows()

0
src/suite.py Normal file
View File

47
src/tree_edge.py Normal file
View File

@ -0,0 +1,47 @@
import cv2
# Read the original image
img = cv2.imread("./res/trees/berk_sq1_original.png")
# Convert to graycsale
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
width = int(img_gray.shape[1] * 40 / 100)
height = int(img_gray.shape[0] * 40 / 100)
dim = (width, height)
# resize image
resized = cv2.resize(img_gray, dim, interpolation = cv2.INTER_AREA)
# Display original image
cv2.imshow("Original", resized)
# Blur the image for better edge detection
img_blur = cv2.GaussianBlur(resized, (3, 3), 0)
# Sobel Edge Detection
sobelx = cv2.Sobel(
src=img_blur, ddepth=cv2.CV_64F, dx=1, dy=0, ksize=5
) # Sobel Edge Detection on the X axis
sobely = cv2.Sobel(
src=img_blur, ddepth=cv2.CV_64F, dx=0, dy=1, ksize=5
) # Sobel Edge Detection on the Y axis
sobelxy = cv2.Sobel(
src=img_blur, ddepth=cv2.CV_64F, dx=1, dy=1, ksize=5
) # Combined X and Y Sobel Edge Detection
# Display Sobel Edge Detection Images
cv2.imshow("Sobel X", sobelx)
cv2.imshow("Sobel Y", sobely)
cv2.imshow("Sobel X Y using Sobel() function", sobelxy)
# Canny Edge Detection
edges = cv2.Canny(
image=resized, threshold1=150, threshold2=250
) # Canny Edge Detection
# Display Canny Edge Detection Image
cv2.imshow("Canny Edge Detection", edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
## Sift