[PYTHON] [OpenCV] Persönliches Memo

Fazit

Finden Sie den Zwischenwert des HSV

Ein Stil, der es nicht wagt, Einschlussausdrücke zu verwenden


import cv2
import numpy as np

image = cv2.imread('./testimages/test.jpg') #Datei lesen

#Farbextraktion mit HSV
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV_FULL) #Bild in HSV konvertieren
hue = hsv[:, :, 0]#Farbton Farbton
sat = hsv[:, :, 1]#Sättigung Sättigung
val = hsv[:, :, 2]#Helligkeitswert
print(hue, sat, val)
print(hue.shape, sat.shape, val.shape)
print(hue[0], sat[0], val[0])

##Finden Sie den Zwischenwert des Farbtons
h_num = []
for h in hue:
    for hn in h:
        h_num.append(hn)
ave_h = sum(h_num)/len(h_num)
print(ave_h)

##Finden Sie den Zwischenwert der Sättigung
s_num = []
for s in sat:
    for sn in s:
        s_num.append(sn)
ave_s = sum(s_num)/len(s_num)
print(ave_s)

##Finden Sie den Zwischenwert der Helligkeit
v_num = []
for v in val:
    for vl in v:
        v_num.append(vl)
ave_v = sum(v_num)/len(v_num)
print(ave_v)

Kantenerfassungsprozess

import numpy as np
import cv2

img_BGR = cv2.imread("./testimages/test.jpg ")

img_Lab = cv2.cvtColor(img_BGR, cv2.COLOR_BGR2Lab)
img_Lab_L, img_Lab_a, img_Lab_b = cv2.split(img_Lab)

cv2.imshow("pic", img_Lab_a)
cv2.waitKey(0)
cv2.destroyAllWindows()

min_val = 30
max_val = 70
img_canny = cv2.Canny(img_Lab_a, min_val, max_val)
cv2.imshow("pic", img_canny)
cv2.waitKey(0)
cv2.destroyAllWindows()
#cv2.imwrite('out.jpg', img_canny)

Konvertieren Sie vom Foto in den Cartoon-Stil

Vorbereitung von screen.jpg screen.jpg

import cv2
import time
import numpy as np

#cap = cv2.VideoCapture(0)

#Tribalisierungsschwelle * Passen Sie den Wert selbst an
th1, th2 = 60, 60

#r, img = cap.read()
img = cv2.imread("./testdir/test.jpg ")

#Eingabebild in Graustufen abrufen
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#Laden des Bildschirmbildes
screen = cv2.imread("screen.jpg ", 0)
#Größenänderung des Bildschirmbildes
screen = cv2.resize(screen, (gray.shape[1], gray.shape[0]))
#Kantenerkennung und Farbinversion
edge = 255 - cv2.Canny(gray, 80, 120)
#Tribalisierung von Bildern
gray[gray <= th1] = 0
gray[gray >= th2] = 255
gray[np.where((gray > th1) & (gray < th2))] = screen[np.where((gray > th1) & (gray < th2))]

#Passen Sie das ternäre Bild und das Randbild an
gray = cv2.bitwise_and(gray, edge)

#Bild speichern
cv2.imwrite("Sample.jpg ", gray)

Recommended Posts

[OpenCV] Persönliches Memo
Python OpenCV Installation (Memo)
Python OpenCV Tutorial Memo
[Persönliches Memo] Automatischer Abschluss der Bash
Verwendung von cron (persönliches Memo)
Häufig verwendete Linux-Befehle [Persönliches Memo]
[Persönliches Memo] Python-Memo für virtuelle Umgebungen
Bestätigung der Impulsantwort (persönliches Memo)
[OpenCV] Persönliche Identifikation mit Gesichtsfoto
[Persönliches Memo] Python-Sequenztyp / Zuordnungstyp
Befehl find / grep (persönliches Memo für Anfänger)
gzip memo
Pandas Memo
HackerRank-Memo
Python-Memo
Python-Memo
Graphen-Memo
Kolben Memo
pyenv memo
Matplotlib-Memo
pytest memo
sed memo
Python-Memo
Installieren Sie Memo
BeautifulSoup4 Memo
networkx memo
Python-Memo
Kater Memo
Befehlsnotiz
Generator Memo.
psycopg2 memo
Python-Memo
SSH-Memo
XBRL-Datei von EDINET herunterladen (persönliches Memo)
Notiz: rtl8812
Powerpo automatische Generierung mit Python-Pptx (persönliches Memo)
Pandas Memo
Shell Memo
Python-Memo
Pycharm-Memo
[Persönliches Memo] julia - Verwenden Sie die Python-Bibliothek mit julia unter Verwendung von PyCall
[Persönliches Memo] Die Pip-Installation schlägt fehl. Lösen Sie sie daher