20 줄 코드 는 python 으로 증명 서 를 바탕색 으로 바 꾸 는 방법 을 알려 줍 니 다.

1.그림 원본
이 사진 은 바 이 두 사진 에서 유래 한 것 입 니 다.만약 권리 침해 가 발생 하면 저 에 게 연락 하여 삭제 하 세 요!그림 은 지식 교류 에 만 사용 된다.
在这里插入图片描述
2.그림 을 읽 고 표시
  • imread():그림 읽 기;
  • imshow():사진 전시;
  • waitkey():창 대기 설정,설정 하지 않 으 면 창 이 스 쳐 지나 갑 니 다
  • 
    import cv2
    import numpy as np
    #     
    img=cv2.imread('girl.jpg')
    
    #     
    cv2.imshow('img',img)
    
    #        ,0      
    cv2.waitKey(0)
    
    효 과 는 다음 과 같 습 니 다:
    在这里插入图片描述
    3.그림 크기 조정
    resize():그림 크기 조정,그 중에서 fx 와 fy 는 크기 조정 비율 을 표시 하고 0.5 는 크기 조정 을 이전의 절반 으로 표시 합 니 다.
    
    import cv2
    import numpy as np
    #     
    img=cv2.imread('girl.jpg')
    
    #     
    img = cv2.resize(img,None,fx=0.5,fy=0.5)
    rows,cols,channels = img.shape
    print(rows,cols,channels)
    
    #     
    cv2.imshow('img',img)
    
    #        ,0      
    cv2.waitKey(0)
    
    결 과 는 다음 과 같다.
    在这里插入图片描述
    4.그림 을 그 레이스 케 일 로 변환
    삼색 사진 은 RGB 세 개의 색 통로 가 있어 부식 과 팽창 을 할 수 없다.이것 은 우리 가 컬러 그림 을 hsv 그 레이스 케 일 이미지 로 변환 한 후에 부식 과 팽창 작업 을 완성 해 야 한다.
    cv2.cvtColor(img,cv2.COLOR_BGR2HSV)컬러 그림 을 hsv 그 레이스 케 일 그림 으로 바 꿀 수 있다.
    
    import cv2
    import numpy as np
    #     
    img=cv2.imread('girl.jpg')
    
    #     
    img = cv2.resize(img,None,fx=0.5,fy=0.5)
    rows,cols,channels = img.shape
    print(rows,cols,channels)
    cv2.imshow('img',img)
    
    #          
    hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
    
    #     
    cv2.imshow('hsv',hsv)
    
    #        ,0      
    cv2.waitKey(0)
    
    결 과 는 다음 과 같다.
    在这里插入图片描述
    5.그림 을 이치 화 처리
    이치 화 처 리 는 그림 을 흑백 그림 으로 바 꾸 기 위 한 것 이다.이치 화 는 1 표시 남,2 표시 여 와 유사 하 며,이미지 처리 에 대해 서도 최소 값 과 최대 값 을 사용자 정의 해 야 합 니 다.여 기 는 각각 lower 를 사용 합 니 다.blue 와 upperblue 표시
  • lower_blue = np.array([90,70,70])
  • upper_blue = np.array([110,255,255])
  • inRange(hsv, lower_blue, upper_blue)그림 을 이치 화 합 니 다
  • 
    import cv2
    import numpy as np
    #     
    img=cv2.imread('girl.jpg')
    
    #     
    img = cv2.resize(img,None,fx=0.5,fy=0.5)
    rows,cols,channels = img.shape
    print(rows,cols,channels)
    cv2.imshow('img',img)
    
    #         
    hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
    cv2.imshow('hsv',hsv)
    
    #         
    lower_blue = np.array([90,70,70])
    upper_blue = np.array([110,255,255])
    mask = cv2.inRange(hsv, lower_blue, upper_blue)
    
    
    #     
    cv2.imshow('mask',mask)
    
    #        ,0      
    cv2.waitKey(0)
    
    결 과 는 다음 과 같다.
    在这里插入图片描述
    단점:우 리 는 제3 장 그림 을 관찰 한 결과 검은색 구역 에 가끔 소음(흰 점)이 나타 날 수 있다 는 것 을 발견 했다.여 기 는 뚜렷하게 나타 나 지 않 을 수도 있 고 어떤 그림 은 뚜렷하게 나타 나 기 때문에 우리 가 부식 되 거나 팽창 해 야 한다.
    6.이미지 의 부식 과 팽창
    위의 이미지 가 이치 화 된 후에 일부 소음 이 발생 했다.우 리 는 부식 되 거나 팽창 하여 이미지 의 처 리 를 하고 어떤 처리 효과 가 좋 은 지 관찰 할 수 있다.
  • erode(mask,None,iterations=1)는 부식 작업 을 한다
  • dilate(erode,None,iterations=1)는 팽창 작업 을 한다
  • 
    import cv2
    import numpy as np
    #     
    img=cv2.imread('girl.jpg')
    
    #     
    img = cv2.resize(img,None,fx=0.5,fy=0.5)
    rows,cols,channels = img.shape
    print(rows,cols,channels)
    cv2.imshow('img',img)
    
    #         
    hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
    cv2.imshow('hsv',hsv)
    
    #         
    lower_blue=np.array([90,70,70])
    upper_blue=np.array([110,255,255])
    mask = cv2.inRange(hsv, lower_blue, upper_blue)
    
    
    #    
    erode=cv2.erode(mask,None,iterations=1)
    cv2.imshow('erode',erode)
    
    dilate=cv2.dilate(erode,None,iterations=1)
    cv2.imshow('dilate',dilate)
    
    
    #        ,0      
    cv2.waitKey(0)
    
    결 과 는 다음 과 같다.
    在这里插入图片描述
    위의 그림 을 살 펴 보면 이 그림 은 부식 되 거나 팽창 하 더 라 도 그림 의 소음 을 제거 하 는 작업 을 잘 한다.우 리 는 부식 된 그림 을 사용 해도 된다.우 리 는 팽창 한 그림 을 사용 해도 된다.
    7.픽 셀 마다 색 바 꾸 기
    그림 은 모든 픽 셀 점 으로 구성 되 어 있 습 니 다.우 리 는 부식 되 어 그림 을 얻 은 흰색 바탕 에 있 는 픽 셀 점 을 찾 은 다음 에 원 그림 에 대응 하 는 위치 에 있 는 픽 셀 점 을 빨간색 으로 교체 해 야 합 니 다.
    
    import cv2
    import numpy as np
    #     
    img=cv2.imread('girl.jpg')
    
    #     
    img = cv2.resize(img,None,fx=0.5,fy=0.5)
    rows,cols,channels = img.shape
    print(rows,cols,channels)
    cv2.imshow('img',img)
    
    #         
    hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
    cv2.imshow('hsv',hsv)
    
    #         
    lower_blue=np.array([90,70,70])
    upper_blue=np.array([110,255,255])
    mask = cv2.inRange(hsv, lower_blue, upper_blue)
    
    
    #    
    erode=cv2.erode(mask,None,iterations=1)
    cv2.imshow('erode',erode)
    
    dilate=cv2.dilate(erode,None,iterations=1)
    cv2.imshow('dilate',dilate)
    
    #    
    for i in range(rows):
     for j in range(cols):
      if erode[i,j]==255: #     255      ,             ,     
       img[i,j]=(0,0,255) #       , BGR  ,  RGB  
    cv2.imshow('res',img)
    
    #        ,0      
    cv2.waitKey(0)
    
    효 과 는 다음 과 같 습 니 다:
    在这里插入图片描述
    여기 서 20 줄 코드 가 python 으로 증명 서 를 바탕색 으로 바 꾸 는 방법 에 대한 예 시 를 알려 드 리 는 이 글 은 여기까지 입 니 다.더 많은 관련 python 증명 서 를 바탕색 으로 바 꾸 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기