이 기사는 Python에서 이미지 융합, 추가 작업 및 이미지 유형 변환 구현(코드 포함)에 대해 설명합니다. 필요한 친구가 참고할 수 있기를 바랍니다. 당신.
1. Numpy 라이브러리 추가
연산 방법은 대상 이미지 = 이미지 1 + 이미지 2이며 연산 결과는 모듈로 연산을 따릅니다.
1) 픽셀 값이 2) 픽셀 값이 >255인 경우 결과는 모듈로 결과입니다. 255, 예를 들어 (255+64)%255=64
2.OpenCV 추가 연산
또 다른 방법은 OpenCV 라이브러리를 직접 호출하여 이미지 추가 연산을 구현하는 방법입니다.
대상 이미지 = cv2. add(image1, image2 )
이번 결과는 포화 연산입니다. 즉:
1) 픽셀 값이 2) 픽셀 값 >255일 때 결과는 255입니다. 예: (255+64) = 255
두 가지 방법에 해당하는 코드는 다음과 같습니다.
#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()
출력 결과는 다음과 같습니다. 아래 그림에서 결과1은 첫 번째 방법이고 결과2는 두 번째 방법입니다. 흰 점이 255개 더 많습니다.
참고: 작업과 관련된 이미지의 크기와 유형은 일관되어야 합니다. 아래는 컬러 이미지를 추가한 결과입니다.
이미지 융합은 일반적으로 2개 이상의 이미지 정보를 하나의 이미지로 융합하는 것을 의미하며 융합된 이미지에는 더 많은 정보가 포함되어 있어 관찰이나 컴퓨터 처리가 더 편리할 수 있습니다. 아래 그림과 같이 불분명한 두 개의 이미지를 융합하여 보다 선명한 이미지를 얻습니다.
이미지 융합은 이미지 추가에 따라 계수와 밝기 조정을 추가합니다.
1) 이미지 추가: 대상 이미지 = 이미지 1 + 이미지 2
2) 이미지 융합: 대상 이미지 = 이미지 1 * 계수 1 + 이미지 2 * 계수 2 + 밝기 조정량
주요 함수는 addWeighted이며, 방법은 다음과 같습니다.
dst = cv2.addWeighter(scr1, alpha, src2, beta, gamma)
dst = src1 * alpha + src2 * beta + gamma
매개변수 gamma는 생략할 수 없습니다.
코드는 다음과 같습니다.
#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()
두 융합 이미지의 픽셀 크기는 동일해야 합니다. 아래 그림과 같이 410*410 픽셀의 두 RGB 이미지가 융합됩니다.
다음과 같이 다양한 비율의 융합을 설정합니다.
result = cv2.addWeighted(src1, 0.6, src2, 0.8, 10)
#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()
이미지 처리에는 일반적으로 후속 작업을 위해 컬러 이미지를 회색조 이미지로 변환해야 합니다. 특히 이미지 인식 및 이미지 처리를 수행하는 학생들이 좋아할 것입니다.
위 내용은 Python에서 이미지 융합, 추가 작업 및 이미지 유형 변환 구현(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!