반응형

사용전 라이브러리 opencv와 numpy가 필요하다.

라이브러리 설치법은 아래 참고

ansan-survivor.tistory.com/308

 

[Python OpenCV] 파이썬 바코드(barcode), QR코드 인식 프로그램 코드

먼저 바코드를 인식하는 open source 라이브러리를 제공해주는데, 그 라이브러리를 pip을 이용해 다운로드 한다. 윈도우의 cmd 창을 이용해서 다운받아본다. 총 3개의 라이브러리가 필요하다. 1. openCV

ansan-survivor.tistory.com

 

왜곡된 이미지에서 4개의 포인트를 지정하고 쭉 펼치는 테스트 함수다.

아래 좌표점은 테스트를 위해 미리 찾아서 넣은것이다.

'''

made by 안산드레이아스
https://ansan-survivor.tistory.com/

'''

# 왜곡된 이미지를 쭉 펼치는 테스트

import cv2
import numpy as np

img = cv2.imread('hough.jpg')
rows, cols, ch = img.shape

a = [[65,15],[481,13],[28,439],[508,445]]
b = [[0, 0],[1000, 0],[0,500],[1000,500]]   # 왼쪽위점, 오른쪽위점, 왼쪽아래점, 오른쪽아래점

pts1 = np.float32(a)
pts2 = np.float32(b)

img = cv2.circle(img, (a[0][0], a[0][1]), 3, (0,0,255),-1)
img = cv2.circle(img, (a[1][0], a[1][1]), 3, (0,0,255),-1)
img = cv2.circle(img, (a[2][0], a[2][1]), 3, (0,0,255),-1)
img = cv2.circle(img, (a[3][0], a[3][1]), 3, (0,0,255),-1)
#cv2.circle(img, c, 5, (55, 255, 55), -1)

M = cv2.getPerspectiveTransform(pts1, pts2)
dst = cv2.warpPerspective(img, M, (1000, 500))  # 변환후 크기 (x좌표, y좌표)

cv2.imshow('imgage',img)
cv2.imshow('dst', dst)
cv2.waitKey(0)
반응형

테스트 이미지(hough.jpg)

(결과) 왼쪽 원본이미지에서 찍은 4개 좌표, 오른쪽 쭉 펼치기

 

 

 

반응형
반응형

이전 포스팅과 마찬가지로 cv2 라이브러리와가 필요하다.

라이브러리 설치 방법은 아래 참고.

ansan-survivor.tistory.com/308

 

[Python OpenCV] 파이썬 바코드(barcode), QR코드 인식 프로그램 코드

먼저 바코드를 인식하는 open source 라이브러리를 제공해주는데, 그 라이브러리를 pip을 이용해 다운로드 한다. 윈도우의 cmd 창을 이용해서 다운받아본다. 총 3개의 라이브러리가 필요하다. 1. openCV

ansan-survivor.tistory.com

 

이 코드는 어떤 이미지가 흐릿할때 색상들을 강조시켜 선명하게 보이게 하는 코드이다.

동일 디렉터리에 name.png 라는 파일이 있다고 가정하면, 이 코드가 시행되고나서 그 파일의 색상들이 강조된다.

import cv2

'''
    함수) 이미지를 더 선명하게 Contrast(대조) 기법을 적용시킴.
        param : 컬러 이미지
        return : 대조된 이미지
'''


def img_Contrast(img):
    # -----Converting image to LAB Color model-----------------------------------
    lab = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)

    # -----Splitting the LAB image to different channels-------------------------
    l, a, b = cv2.split(lab)

    # -----Applying CLAHE to L-channel-------------------------------------------
    clahe = cv2.createCLAHE(clipLimit=3.0, tileGridSize=(8, 8))
    cl = clahe.apply(l)

    # -----Merge the CLAHE enhanced L-channel with the a and b channel-----------
    limg = cv2.merge((cl, a, b))

    # -----Converting image from LAB Color model to RGB model--------------------
    final = cv2.cvtColor(limg, cv2.COLOR_LAB2BGR)

    return final


img = cv2.imread('name.png')
img = img_Contrast(img)

cv2.imshow('a', img)
cv2.waitKey(0)

 

반응형

 

(테스트) 출처 이미지: www.canstockphoto.co.kr/%EB%82%98%EB%AC%B4-%ED%9D%90%EB%A6%BF%ED%95%9C-%EC%95%84%EC%B9%A8-%EA%B0%80%EC%9D%84-%ED%96%87%EB%B9%9B-%EC%86%8C%EB%82%98%EB%AC%B4-%EC%88%B2-64441841.html

파이썬 적용 전 이미지

파이썬 코드 구동

파이썬 적용 후 이미지

반응형
1

+ Recent posts