Python 은 opencv 의 그림 색소 수치 연산 과 논리 연산 을 실현 합 니 다.

3731 단어 Pythonopencv
수치 연산
코드:

# -*- coding=GBK -*-
import cv2 as cv
 
 
#     :    
def shu_image(src11, src22):
          src = cv.add(src11, src22)  #   :          ,> 255   255
          cv.namedWindow("add",0)
          cv.resizeWindow("add", 300, 300)  #          
          cv.imshow("add", src)
          src = cv.subtract(src11, src22)  #   :          ,< 0   0
          cv.namedWindow("subtract", 0)
          cv.resizeWindow("subtract", 300, 300)
          cv.imshow("subtract", src)
          src = cv.multiply(src11, src22)  #   :          ,> 255   255
          cv.namedWindow("multiply", 0)
          cv.resizeWindow("multiply", 300, 300)
          cv.imshow("multiply", src)
          src = cv.divide(src11, src22)  #   :          ,a( > 0) / 0 = 255
          cv.namedWindow("divide", 0)
          cv.resizeWindow("divide", 300, 300)
          cv.imshow("divide", src)
 
src1 = cv.imread("jueduisiwang.bmp")
src2 = cv.imread("fuchoutianshi.bmp")
 
cv.namedWindow("src1", 0)
cv.resizeWindow("src1", 300, 300)
cv.imshow("src1", src1)
 
src2 = src2[:,:30,:] #            ,       
cv.namedWindow("src2", 0)
cv.resizeWindow("src2", 300, 300)
cv.imshow("src2", src2)
 
shu_image(src1, src2)
cv.waitKey(0)
cv.destroyAllWindows()
결과:

논리 연산
코드:

# -*- coding=GBK -*-
import cv2 as cv
 
 
#     :      
def luo_image(src1, src2):
    src = cv.bitwise_and(src1, src2)
    cv.namedWindow("AND", 0)
    cv.resizeWindow("AND", 300, 300)
    cv.imshow("AND", src)
    src = cv.bitwise_or(src1, src2)
    cv.namedWindow("OR", 0)
    cv.resizeWindow("OR", 300, 300)
    cv.imshow("OR", src)
    src = cv.bitwise_not(src1)
    cv.namedWindow("NOR", 0)
    cv.resizeWindow("NOR", 300, 300)
    cv.imshow("NOR", src)
    src = cv.bitwise_xor(src1, src2)
    cv.namedWindow("XOR", 0)
    cv.resizeWindow("XOR", 300, 300)
    cv.imshow("XOR", src)
 
src1 = cv.imread("jueduisiwang.bmp")
src2 = cv.imread("fuchoutianshi.bmp")
 
cv.namedWindow("src1", 0)
cv.resizeWindow("src1", 300, 300)
cv.imshow("src1", src1)
 
src2 = src2[:,:30,:] #            ,       
cv.namedWindow("src2", 0)
cv.resizeWindow("src2", 300, 300)
cv.imshow("src2", src2)
 
 
luo_image(src1, src2)
cv.waitKey(0)
cv.destroyAllWindows()
결과(참고 가치 가 별로 없 음):

비고:
그림 의 논리 나 연산 은 255-대응 하 는 채널 픽 셀 값,즉'반대'조작(흑백 그림 은 검은색 이 하 얗 게 변 하고 흰색 이 검 게 변 하 는 것)이다.
흑백 그림 과 같은 사이즈 의 임 의 그림 의 논리 나 연산 은 덧셈 이다.
흑백 그림 과 같은 사이즈 의 임 의 그림 의 논리 와 연산 은 흑백 그림 의 흑백 픽 셀 값 을 바 꾼 다음 에 같은 사이즈 의 임 의 그림 과 덧셈 연산 을 하 는 것 이다.
컬러 그림 간 의 논리 연산 관 계 는 너무 복잡 해서 이해 하지 못 했다.(
파 이 썬 이 opencv 의 이미지 색소 수치 연산 과 논리 연산 을 실현 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 이미지 색소 수치 연산 과 논리 연산 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 지원 바 랍 니 다!

좋은 웹페이지 즐겨찾기