Binarisierung mit OpenCV / Python


#!/usr/bin/env python
# -*- coding: utf-8 -*-

import cv2
import time

def conv():
	#Schwellenwert einstellen
	threshold = 100

	#Binarisierung(Die Anzahl der Pixel, die den Schwellenwert von 100 überschreiten, wird auf 255 eingestellt.)
	ret, img_thresh = cv2.threshold(img, threshold, 255, cv2.THRESH_BINARY)

	#Anzeige des binärisierten Bildes
	cv2.imshow("img_th", img_thresh)
	cv2.waitKey()
	cv2.destroyAllWindows()

def fps(video):
	fps = video.get(cv2.CAP_PROP_FPS)
	print("FPS-Einstellwert, Video.get(cv2.CAP_PROP_FPS) : {0}".format(fps))
	
	#Anzahl der zu erhaltenden Frames
	num_frames = 120
	
	print("Erwerben{0} frames".format(num_frames))
	
	#Startzeit
	start = time.time()
	
	#Holen Sie sich den Rahmen
	#for i in range(0, num_frames):
	#	ret, frame = video.read()
	
	#Endzeit
	end = time.time()
	
	# Time elapsed
	seconds = end - start
	print("verstrichene Zeit: {0} seconds".format(seconds))
	
	# Calculate frames per second
	fps = num_frames / seconds
	print("Berechnete FPS: {0}".format(fps))

class FPS:
	def __init__(self):
		self.flag = False
		self.start = 0
		self.end = 0
		self.fps = 0
		self.framecnt = 0
			
	def calc_fps(self):
		if self.flag == False:
			self.start = time.time()
			self.flag = True		
		else:
			diff = time.time() - self.start
			if diff > 1.0:
				self.fps = self.framecnt / diff
				self.framecnt = 0
				self.start =  time.time()

		self.framecnt += 1
		return self.fps

def test1(mode):
	URL = "http://172.23.64.38:8081/?action=stream"
	winname ="winname"
	cv2.namedWindow(winname, cv2.WINDOW_NORMAL)

	try :
		if mode == 0:
			s_video = cv2.VideoCapture(0)
		else:
			s_video = cv2.VideoCapture(URL)


		#Schwellenwert einstellen
		threshold = 200
		fpsobj = FPS()

		while True:
			
			start = time.time()
			end = time.time()

			seconds = end - start

			ret, srcimg = s_video.read()
			#cv2.imshow(winname,img)
			key = cv2.waitKey(1) & 0xff
			if key == ord('q'): break

			#Binarisierung(Die Anzahl der Pixel, die den Schwellenwert von 100 überschreiten, wird auf 255 eingestellt.)
			#cv2.threshold(Bild,Schwelle,Schwelleを超えた場合に変更する値,Binarisierungsmethode)
			ret, img = cv2.threshold(srcimg, threshold, 255, cv2.THRESH_BINARY)
			
			ksize=7 #Blendengröße 3, 5,Eine ungerade Zahl größer als 1 wie oder 7. Je größer die Zahl, desto unschärfer.
			img = cv2.medianBlur(img,ksize)
						
			img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  #Geben Sie BGR2 ~ anstelle von RGB2 ~ an
			ret, img = cv2.threshold(img, 20, 255, cv2.THRESH_BINARY)


			#print("{}".format( fpsobj.calc_fps()))
			if ret:
				#Anzeige des binärisierten Bildes
				cv2.imshow(winname, img)
	except:
		pass

	cv2.destroyAllWindows()




if __name__ == "__main__":
	test1(1)

C++



#include <opencv2/core.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
#include <stdio.h>

#include "opencv2/imgcodecs.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/photo.hpp"

//    http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_thresholding/py_thresholding.html

        Mat dst;
        int criteria = 100;
        int max = 255;


        for ( ;;) {

            cap.read( frame );
            cv::threshold( frame, dst, criteria, max, THRESH_BINARY );       // binalized


            int ksize = 7;// #Blendengröße 3, 5,Eine ungerade Zahl größer als 1 wie oder 7. Je größer die Zahl, desto unschärfer.
            cv::medianBlur( dst, dst, ksize );

            cv::cvtColor( dst, dst, COLOR_BGR2GRAY );// #Geben Sie BGR2 ~ anstelle von RGB2 ~ an
            cv::threshold( dst, dst, 20, max, THRESH_BINARY );
            

            imshow( "Live", dst );
            if ( waitKey( 5 ) >= 0 ) {
                break;
            }
        }
    


Recommended Posts

Binarisierung mit OpenCV / Python
"Apple-Verarbeitung" mit OpenCV3 + Python3
Bildbearbeitung mit Python OpenCV
Kameraerfassung mit Python + OpenCV
[Python] Verwenden von OpenCV mit Python (Basic)
Gesichtserkennung mit Python + OpenCV
Verwenden von OpenCV mit Python @Mac
[Python] Verwenden von OpenCV mit Python (Bildfilterung)
Neuronales Netzwerk mit OpenCV 3 und Python 3
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
[Python] Verwenden von OpenCV mit Python (Kantenerkennung)
Die Bildverarbeitung mit Python 100 klopft an die Binärisierung Nr. 3
Einfache Python + OpenCV-Programmierung mit Canopy
Versuchen Sie die Gesichtserkennung mit Python + OpenCV
Schneiden Sie das Gesicht mit Python + OpenCV aus
Gesichtserkennung mit Kamera mit opencv3 + python2.7
Laden Sie das GIF-Bild mit Python + OpenCV
Finden Sie Bildähnlichkeit mit Python + OpenCV
Verwenden Sie OpenCV mit Python 3 in Window
Zeichnen Sie eine Illustration mit Python + OpenCV
Verfolgen Sie Baseballbälle mit Python + OpenCV
Graphbasierte Segmentierung mit Python + OpenCV
Zeichnen Sie einen Pfeil (Vektor) mit opencv / python
Grundlegendes Studium von OpenCV mit Python
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Python2.7 + CentOS7 + OpenCV3
Scraping mit Python
Python mit Go
Twilio mit Python
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
OpenCV-Beispiele (Python)
Bingo mit Python
Zundokokiyoshi mit Python
[Hinweis] openCV + Python
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Gesichtserkennung mit Python + OpenCV (invariante Rotation)
Speichern Sie Videos Frame für Frame mit Python OpenCV
Bilder mit Pupil, Python und OpenCV aufnehmen
Ich habe versucht, mit Python + opencv nicht realistisch zu rendern
Bildverarbeitung mit Python & OpenCV [Tonkurve]
Bildaufnahme von der Kamera mit Python + OpenCV
[python, openCV] base64 Gesichtserkennung in Bildern
Erstellen verschiedener Photoshop-Videos mit Python + OpenCV ③ Erstellen Sie verschiedene Photoshop-Videos
[Python] Bilder mit OpenCV lesen (für Anfänger)
Bis Sie opencv mit Python verwenden können
Leichte Bildverarbeitung mit Python x OpenCV
Glättung kantengespeichert mit Python + OpenCV (BilateralFilter, NLMeansFilter)
Serielle Kommunikation mit Python
Zip, entpacken mit Python
Hallo Welt- und Gesichtserkennung mit OpenCV 4.3 + Python
Primzahlbeurteilung mit Python
Python mit Eclipse + PyDev.