Nehmen Sie eine Strichzeichnung aus einem Farbbild. Eine Strichzeichnung ist ein monochromes Bild, das (wahrscheinlich) nicht binärisiert ist. Wenn ich über die Verwendung von OpenCV nachdenke, lese ich es in Graustufen → Ich habe mir eine Binärisierung mit "adaptiveThreshold" ausgedacht, aber es ist nicht sehr gut. Lassen Sie uns also überprüfen, wie die Kommentare zum Thema erstellt werden.
# -*- coding: utf-8 -*-
"""
Created on Fri Jan 27 11:30:12 2017
@author: khsk
"""
import numpy as np
import cv2 as c
import glob
import os
#8 Definition der Nachbarschaft
neiborhood8 = np.array([[1, 1, 1],
[1, 1, 1],
[1, 1, 1]],
np.uint8)
for path in glob.glob('./images/eupho/*'):
if (os.path.basename(path) == 'Thumbs.db'):
continue
img = c.imread(path, 0) #Farbe ohne 0
img_dilate = c.dilate(img, neiborhood8, iterations=1)
img_diff = c.absdiff(img, img_dilate)
img_diff_not = c.bitwise_not(img_diff)
#gray = c.cvtColor(img_diff_not, c.COLOR_RGB2GRAY)
#at = c.adaptiveThreshold(img_diff_not, 255, c.ADAPTIVE_THRESH_GAUSSIAN_C, c.THRESH_BINARY, 7, 8) #Passen Sie int gut an
c.imwrite(os.path.dirname(path) + '_clean_senga_color_gray/' + os.path.basename(path), img_diff_not)
c.imshow('test',img)
c.imshow('test2',img_dilate)
c.imshow('test3',img_diff)
c.imshow('test4',img_diff_not)
c.waitKey(10000)
c.destroyAllWindows()
Grundcode. Kommentieren Sie aus, ändern Sie Variablen und spielen Sie mit int-Werten. Es scheint eine Erweiterung von ungefähr 4 zu geben, aber wenn Sie es klarer machen wollen, dachte ich, dass es ungefähr 8 weitere sein könnten. Sofern nicht anders angegeben, erfolgt der Messwert jedoch in Graustufen.
Ich erinnere mich, dass ich Namen wie Euphonium in meinen Forschungen zum maschinellen Lernen gesehen habe, aber ich habe die Details vergessen. Ist es ideal für maschinelles Lernen? Machst du es damit? Es hat nichts mit Strichzeichnung zu tun. Wahrscheinlich.
Nur "adaptiveThreshold"
Die Linien klappern und das ist besser, aber manchmal gibt es schwarze Flecken wie Staub
Ich war überrascht, weil es zu schön war. Apropos besorgniserregend, es gibt Schatten und es erscheinen oft schwache Linien.
Ich habe die Anzahl der Erweiterungen erhöht, sodass, wenn der Unterschied dicker wird, sogar eine dünne Linie deutlich erscheint. Das Gefühl der Fremdheit breitet sich aus, indem die dunklen Linien dicker werden. Es kann immer noch gut sein, wenn es zweimal ist.
Da der Referenz-Tweet am Ende grau skaliert war, habe ich versucht, die erste Lesung in Farbe zu verarbeiten. (1 Erweiterung) Ich denke, es geht um einen Fehler. Die farbige Strichzeichnung hat einen Geschmack.
Es ist eine schöne Strichzeichnung, aber ich dachte, es sei nicht binär, also habe ich es am Ende binär gemacht. Es scheint, dass die Informationsmenge durch die Binärisierung reduziert wurde.
Bis zu diesem Punkt habe ich festgestellt, dass die Erweiterung auf das binärisierte Bild angewendet zu werden scheint. Befolgen Sie daher die Anweisungen zum Lesen → Binärisierung → Erweiterung → Differenz. Der Unterschied kann nicht mehr in Worten ausgedrückt werden.
Ich denke, es war anständig. Ich weiß nicht, was eine "gute Strichzeichnung" überhaupt ist.
Ich habe darüber nachgedacht, einen Datensatz zu erstellen, aber ich möchte Daten für maschinelles Lernen mit maschinellem Lernen erstellen. Das Zeichnen von groben Linien wurde bereits untersucht, sodass mehrdeutige Linien ergänzt werden können.
Ich bin also nicht in das maschinelle Lernen eingestiegen, aber als ich mich fragte, ob die Datenaufbereitung einen Schritt nach vorne gemacht hatte weil das trainierte Modell zu einem Webdienst gemacht wurde, anstatt veröffentlicht zu werden, ist es definitiv besser, hier zu spielen. angenehm.
Die Haarfarbe passt super.
[Pixelexpansionsverarbeitung (Dilatation) und Kontraktionsverarbeitung (Erosion) mit Python OpenCV3 (eine kleine Erklärung) - von umentu import dumm]: https://www.blog.umentu.work/python-opencv3%E3%81%A7 % E7% 94% BB% E7% B4% A0% E3% 81% AE% E8% 86% A8% E5% BC% B5% E5% 87% A6% E7% 90% 86Dilatation% E3% 81% A8% E5 % 8F% 8E% E7% B8% AE% E5% 87% A6% E7% 90% 86erosion-% E3% 81% A1% E3% 82% 87% E3% 81% A3% E3% 81% A8% E8% A7% A3 /
Recommended Posts