728x90
warming
import cv2
import numpy as np
original = cv2.imread('data/images/girl.jpg')
img = original.copy()
#X축 피벗포인트
originalValue = np.array([0, 50,100,150,200,255])
#Y축 포인트 : 빨간쪽, 파란쪽 두 부분의 포인트/ opencv 51번 사진 참고
rCurve = np.array([0,80,150,190,220,255])
bCurve = np.array([0,20,40,75,150,255])
#Lookup Table 만들기 : 6개의 점으로 256개의 점 만들기
fullRange = np.arange(0,255+1)
rLUT = np.interp(fullRange, originalValue, rCurve)
bLUT = np.interp(fullRange, originalValue, bCurve)
print(rLUT)
print(rLUT.shape)
rChannel = img[:,:,2]
#B,G,rChannel = cv2.split(img)
rChannel = cv2.LUT(rChannel,rLUT)
img[:,:,2]=rChannel
bChannel = img[:,:,0]
bChannel = cv2.LUT(bChannel,bLUT)
img[:,:,0] = bChannel
#화면
combined = np.hstack([original, img])
cv2.imshow('comb', combined)
cv2.waitKey(0)
cv2.destroyAllWindows()
cooling
import cv2
import numpy as np
original = cv2.imread('data/images/girl.jpg')
img = original.copy()
#X축 피벗포인트
originalValue = np.array([0, 50,100,150,200,255])
#Y축 포인트 : 빨간쪽, 파란쪽 두 부분의 포인트/ opencv 51번 사진 참고
rCurve = np.array([0,20,40,75,150,255])
bCurve = np.array([0,80,150,190,220,255])
#Lookup Table 만들기 : 6개의 점으로 256개의 점 만들기
fullRange = np.arange(0,255+1)
rLUT = np.interp(fullRange, originalValue, rCurve)
bLUT = np.interp(fullRange, originalValue, bCurve)
print(rLUT)
print(rLUT.shape)
rChannel = img[:,:,2]
#B,G,rChannel = cv2.split(img)
rChannel = cv2.LUT(rChannel,rLUT)
img[:,:,2]=rChannel
bChannel = img[:,:,0]
bChannel = cv2.LUT(bChannel,bLUT)
img[:,:,0] = bChannel
#화면
combined = np.hstack([original, img])
cv2.imshow('comb', combined)
cv2.waitKey(0)
cv2.destroyAllWindows()
728x90
'OpenCV' 카테고리의 다른 글
boxfilter (0) | 2021.04.20 |
---|---|
convolution (0) | 2021.04.20 |
gamma (0) | 2021.04.20 |
contrast HistEq (0) | 2021.04.20 |
contrast Scaling 대비 (0) | 2021.04.20 |