Testing exercises working

This commit is contained in:
Arne van Iterson 2023-09-06 13:35:15 +02:00
commit 568ebfec97
15 changed files with 206 additions and 0 deletions

16
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,16 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": true
}
]
}

9
example/ex1 - showImg.py Normal file
View File

@ -0,0 +1,9 @@
import numpy as np
import cv2
import os
# Load an color image in grayscale
img = cv2.imread(os.path.join(os.getcwd(), './res/balls.png'),0)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

View File

@ -0,0 +1,45 @@
import numpy as np
import cv2
import copy
image = cv2.imread('./res/balls.png')
if image is None:
print("\nERROR: Could not open image\n")
exit()
# Bepaal afmetingen en aantal kleurkanalen
height = image.shape[0]
width = image.shape[1]
colors = image.shape[2]
print ("%d pixels breed" % width)
print ("%d pixels hoog" % height)
print ("%d kleur kanalen" % colors)
image_RGB = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
image_HSV = cv2.cvtColor(image, cv2.COLOR_RGB2HSV)
image_RGB = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
#RGB - Blue
cv2.imshow('B-RGB',image_RGB[:, :, 0])
# RGB - Green
cv2.imshow('G-RGB',image_RGB[:, :, 1])
# RGB Red
cv2.imshow('R-RGB',image_RGB[:, :, 2])
# HSV - H
cv2.imshow('H-HSV',image_HSV[:, :, 0])
# HSV - S
cv2.imshow('S-HSV',image_HSV[:, :, 1])
# HSV - V
cv2.imshow('V-HSV',image_HSV[:, :, 2])
cv2.imshow("HSV", image_HSV)
cv2.imshow("RGB", image_RGB)
cv2.imshow("Input image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

View File

@ -0,0 +1,21 @@
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Display the resulting frame
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()

32
example/ex4 - deepCopy.py Normal file
View File

@ -0,0 +1,32 @@
import numpy as np
import cv2
import copy
image = cv2.imread('./res/balls.png')
if image is None:
print("\nERROR: Could not open image\n")
exit()
# Bepaal afmetingen en aantal kleurkanalen
height = image.shape[0]
width = image.shape[1]
colors = image.shape[2]
print ("%d pixels breed" % width)
print ("%d pixels hoog" % height)
print ("%d kleur kanalen" % colors)
#snij een selectie uit het plaatje
# dit maakt een copy van het adres van het plaatje:
selection1 = image[10:150, 10:200] ## Dit is een reference, python doet dit om geheugen te besparen
# dit maakt een echte copy van een deel van het plaatje:
selection2 = copy.deepcopy(image[10:150, 10:200]) ## Dit is een daadwerkelijke kopie op een nieuwe locatie
# de kleuren kun je zetten door een zogenaamd tupplet van kleur (50,250,50)
image[10:150, 10:200] = (50,250,50) ## Hier zet je de waarde van de afbeelding op groen dus ook die van de reference
# Toon het beeld in een venster
cv2.imshow("Cut-out1", selection1)
cv2.imshow("Cut-out2", selection2)
cv2.imshow("Input image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

44
example/ex5 - blue.py Normal file
View File

@ -0,0 +1,44 @@
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
while(1):
# Take each frame
ret, frame = cap.read()
# Convert BGR to HSV
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
# define range of blue color in HSV
lower_blue = np.array([110,50,50])
upper_blue = np.array([130,255,255])
# Threshold the HSV image to get only blue colors
mask = cv2.inRange(hsv, lower_blue, upper_blue)
blue_amnt = mask.mean()
blue_str = ""
if blue_amnt < 10:
blue_str = "not very blue"
elif blue_amnt >= 10 and blue_amnt < 30:
blue_str = "a bit blue"
elif blue_amnt >= 30 and blue_amnt < 100:
blue_str = "very blue"
elif blue_amnt >= 100:
blue_str = "all blue"
# Bitwise-AND mask and original image
res = cv2.bitwise_and(frame,frame, mask= mask)
cv2.putText(res, blue_str, (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)
cv2.imshow('frame',frame)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
k = cv2.waitKey(5) & 0xFF
if k == 27:
break
cv2.destroyAllWindows()

View File

@ -0,0 +1,16 @@
import numpy as np
import cv2
import os
from matplotlib import pyplot as plt
# Load an color image in grayscale
img = cv2.imread(os.path.join(os.getcwd(), "./res/bwg.png"), 0)
hist = cv2.calcHist([img], [0], None, [256], [0,256])
# show the plotting graph of an image
plt.plot(hist)
plt.show()
cv2.waitKey(0)
cv2.destroyAllWindows()

View File

@ -0,0 +1,23 @@
import numpy as np
import cv2
import os
from matplotlib import pyplot as plt
# Load an color image in grayscale
img = cv2.imread(os.path.join(os.getcwd(), "./res/bwg.png"), 0)
imgEq = cv2.equalizeHist(img)
cv2.imshow('in',img)
cv2.imshow('out',imgEq)
hist = cv2.calcHist([img], [0], None, [256], [0,256])
histEq = cv2.calcHist([imgEq], [0], None, [256], [0,256])
# show the plotting graph of an image
plt.plot(hist)
plt.plot(histEq)
plt.show()
cv2.waitKey(0)
cv2.destroyAllWindows()

BIN
res/balls.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
res/bw.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

BIN
res/bwg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 B

BIN
res/drake.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

BIN
res/grad.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

BIN
res/ohno.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

0
src/nuts.py Normal file
View File