유화 이미지

원리 :

도 1은, 화상 취득 계조 (그레이) 사진
(2)는 작은 박스 (4 × 4 또는 8 × 8 또는 10 × 10 등), 각각의 작은 화소 블록의 통계 값 디자인하는
몇몇 그레이 255으로 나누어 3 레벨 및 결과 세트 각각의 제 2 단계의 처리 레벨로 매핑되고 카운트
는 각각 계조까지 블록 내의 모든 픽셀을 찾기 위해,도 4 및 이들 화소의 평균 획득
5로 파악 화소 값의 평균 값은 원을 대체

CV2 오기 
NP AS 오기 NumPy와

IMG cv2.imread = ( 'D : /pythonob/imageinpaint/img/zidan.jpg',. 1)
imgInfo img.shape =
높이 imgInfo = [0]
폭 = imgInfo [1.]
그레이 = CV2. cvtColor (IMG, cv2.COLOR_BGR2GRAY)
DST np.zeros = ((높이, 폭 3 ,.) np.uint8)
pixel_class. 4 =
이동 섹션 = INT (256 / pixel_class)
각각의 데이터 루프 # 사용 두 이미지를 가로
(.. 3, 높이 - 6)에 대한 범위에서 I는 :
범위 J 대해. (3, 폭 - 3.) :
# 전류 계조 4 프로그램에서 정의
# 네 등급으로 부하에 화소들의 어레이를 정의 번호
배열 1 = np.zeros가 (pixel_class가 np.uint8)
# 작은 사각형 절차가 현재 좁은 정의되는
범위 m에 대한 (-3 ,. 3) :
N 인 범위 (-3 ,. 3)의 경우 :
#의 P1은 첨자 0-3로 표시되는 화소 레벨 구간을 나누어
INT = P1 (그레이 [I은 m이 + N-J +] / 이동 섹션)
픽셀 카운트 # 다음 단계는, 첨자는 배열 1 화소 레벨을 나타내고,
A # 화소 값이 작은 블록 레벨에서 픽셀의 대표 숫자
배열 1 [P1] = 배열 1 [P1] +. 1 개
# 다음 블록까지 작은 화소 세그먼트 내의 픽셀 결정
CurrentMax = 배열 1 [0]
0 L 번호 여기 기록 화소 세그먼트를 제공 = 1 카운트 배열 첨자
범위 K (0, pixel_class)
: CurrentMax <배열 1 [K] IF
CurrentMax 배열 1 = [K]
, L = K의
# 의미 처리
U = V = W = 0 인
범위에서 m (-3위한 ,. 3 )
에 대한 N 인 범위 (-3 ,. 3)
. 그레이 [I은 m이 + N-J +] 경우> = (L의 *의 이동 섹션)와 그레이 [I + m, N-J +] <= ((L의 + 1) * 섹션) :
(b는, g는, R)은 IMG를 = 난 + N m, J가 +]
U + = B의
V + = g
+ = R w
U = INT (U / 배열 1 [L])
V = INT (V / 배열 1 [리터 ])
= INT (w / 배열 1 [L]) w
DST [I, J] = U · V] w
cv2.imshow ( 'DST'DST)
cv2.imshow ( "IMG 'IMG)
cv2.waitKey (0)

 

도 효과;

 

추천

출처www.cnblogs.com/cxxBoo/p/11460215.html