Heim > Backend-Entwicklung > Python-Tutorial > Implementierung von Bildfusion, Additionsoperation und Bildtypkonvertierung in Python (mit Code)

Implementierung von Bildfusion, Additionsoperation und Bildtypkonvertierung in Python (mit Code)

不言
Freigeben: 2018-09-08 17:18:43
Original
7668 Leute haben es durchsucht

Was Ihnen dieser Artikel bringt, ist die Implementierung der Bildfusion, der Additionsoperation und der Bildtypkonvertierung in Python (mit Code). Ich hoffe, dass er einen gewissen Referenzwert hat wird dir helfen.

1. Bildadditionsoperation

1. Numpy-Bibliotheksaddition
Die Operationsmethode ist: Zielbild = Bild 1 + Bild 2, und das Operationsergebnis ist Modulo-Operation übernommen.
1) Wenn der Pixelwert 2) Wenn der Pixelwert >255 ist, ist das Ergebnis ist Modulo 255 Das Ergebnis, zum Beispiel: (255+64)%255=64

2. OpenCV-Additionsoperation
Eine andere Methode besteht darin, die OpenCV-Bibliothek direkt aufzurufen, um das Bild zu implementieren Additionsoperation. Die Methode ist wie folgt:
Zielbild = cv2.add(Bild 1, Bild 2)
Das Ergebnis ist zu diesem Zeitpunkt eine Sättigungsoperation, das heißt:
1) Wenn der Pixelwert 2) Wenn der Pixelwert > 255 ist, ist das Ergebnis 255, zum Beispiel: (255+64) = 255

Die entsprechenden Codes für die beiden Methoden lauten wie folgt. Anzeige:

#encoding:utf-8import cv2  
import numpy as np  
import matplotlib.pyplot as plt#读取图片img = cv2.imread('picture.bmp')
test = img
#方法一:
Numpy加法运算result1 = img + test
#方法二:
OpenCV加法运算result2 = cv2.add(img, test)
#显示图像
cv2.imshow("original", img)
cv2.imshow("result1", result1)
cv2.imshow("result2", result2)
#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()
Nach dem Login kopieren

Das Ausgabeergebnis ist in der folgenden Abbildung dargestellt, wobei Ergebnis1 die erste Methode und Ergebnis2 die zweite Methode ist sind mehr Weißpunkte 255.


Implementierung von Bildfusion, Additionsoperation und Bildtypkonvertierung in Python (mit Code)

Hinweis: Größe und Art der in den Vorgang einbezogenen Bilder müssen konsistent sein. Unten sehen Sie das Ergebnis des Hinzufügens der Farbbilder.


Implementierung von Bildfusion, Additionsoperation und Bildtypkonvertierung in Python (mit Code)

2. Bildfusion

Bildfusion bezieht sich normalerweise auf das Zusammenführen von zwei oder mehr Bildinformationen zu einem. In Bezug auf Bilder wird es zusammengeführt Bilder enthalten mehr Informationen und können für Menschen bequemer zu beobachten oder für die Computerverarbeitung geeignet sein. Wie in der folgenden Abbildung dargestellt, werden zwei unklare Bilder zusammengeführt, um ein klareres Bild zu erhalten.

Implementierung von Bildfusion, Additionsoperation und Bildtypkonvertierung in Python (mit Code)

Bildfusion fügt Koeffizienten und Helligkeitsanpassungen basierend auf der Bildaddition hinzu.
1) Bildaddition: Zielbild = Bild 1 + Bild 2
2) Bildfusion: Zielbild = Bild 1 * Koeffizient 1 + Bild 2 * Koeffizient 2 + Helligkeitsanpassungsbetrag
Die aufgerufene Hauptfunktion ist addWeighted, die Methode lautet wie folgt:
dst = cv2.addWeighter(scr1, alpha, src2, beta, gamma)
dst = src1 * alpha + src2 * beta + gamma
Der Parameter Gamma kann nicht weggelassen werden.

Der Code lautet wie folgt:

#encoding:utf-8import cv2  
import numpy as np  
import matplotlib.pyplot as plt
#读取图片
src1 = cv2.imread('test22.jpg')
src2 = cv2.imread('picture.bmp')
#图像融合
result = cv2.addWeighted(src1, 1, src2, 1, 0)
#显示图像
cv2.imshow("src1", src1)
cv2.imshow("src2", src2)
cv2.imshow("result", result)
#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()
Nach dem Login kopieren

Es ist zu beachten, dass die Pixelgröße der beiden fusionierten Bilder gleich sein muss. Wie in der Abbildung unten gezeigt, sind es zwei RGB-Bilder mit Pixeln von 410*410 sind verschmolzen.

Implementierung von Bildfusion, Additionsoperation und Bildtypkonvertierung in Python (mit Code)

Stellen Sie verschiedene Anteile der Fusion wie folgt ein:
result = cv2.addWeighted(src1, 0.6, src2, 0.8, 10)


Implementierung von Bildfusion, Additionsoperation und Bildtypkonvertierung in Python (mit Code)

3. Bildtypkonvertierung

Bildtypkonvertierung bezieht sich auf die Konvertierung eines Typs in einen anderen Typ, z. B. die Konvertierung eines Farbbilds in ein Graustufenbild, BGR konvertieren Bilder in RGB-Bilder umwandeln. OPenCV bietet Konvertierungen zwischen mehr als 200 verschiedenen Typen, von denen die am häufigsten verwendeten drei Kategorien umfassen:

  • cv2.COLOR_BGR2GRAY

  • cv2.COLOR_BGR2RGB

  • cv2.COLOR_GRAY2BGR

Der Code lautet wie folgt:

#encoding:utf-8import cv2  
import numpy as np  
import matplotlib.pyplot as plt
#读取图片
src = cv2.imread('01.bmp')
#图像类型转换
result = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
#显示图像
cv2.imshow("src", src)
cv2.imshow("result", result)
#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()
Nach dem Login kopieren

Das Ausgabeergebnis ist wie unten dargestellt :


Implementierung von Bildfusion, Additionsoperation und Bildtypkonvertierung in Python (mit Code)

Wenn die Kanalkonvertierung verwendet wird, sieht das Ergebnis wie folgt aus:
result = cv2.cvtColor(src, cv2.COLOR_BGR2RGB)


Implementierung von Bildfusion, Additionsoperation und Bildtypkonvertierung in Python (mit Code)

Die Bildverarbeitung erfordert normalerweise die Konvertierung von Farbbildern in Graustufenbilder, bevor weitere Vorgänge vorgenommen werden. Ich hoffe, dass es Ihnen gefällt. Vor allem ich bin ein Klassenkamerad, der sich mit Bilderkennung und Bildverarbeitung beschäftigt.

Verwandte Empfehlungen:

Python implementiert die geometrische Bildtransformation

Python-Bild-Graustufentransformation und Bildarray-Operation

Das obige ist der detaillierte Inhalt vonImplementierung von Bildfusion, Additionsoperation und Bildtypkonvertierung in Python (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage