전역 한도 값 알고리즘 분석
7084 단어 알고리즘
(바람 처럼 흐 르 는 CSDN 블 로 그 를 배 웠 습 니 다.http://blog.csdn.net/ilyhlf5201314/article/details/8525695)
1. 처리 절차:
1. 전역 한도 값 을 위 한 초기 추정 값 T (그림 의 평균 그 레이스 케 일) 를 선택 하 십시오. 2. 그림 을 T 로 분할 합 니 다.두 개의 픽 셀 생 성: G1 은 그 레이스 케 일 값 이 T 보다 큰 픽 셀 로 구성 되 어 있 고 G2 는 T 픽 셀 보다 작은 것 으로 구성 되 어 있 습 니 다. 3. G1 과 G2 픽 셀 의 평균 그 레이스 케 일 m1 과 m2 를 계산 합 니 다. 4. 새로운 한도 값 계산 하기: T = (m1 + m2) / 2; 5. 2 와 4 절 차 를 반복 하여 연속 으로 교체 되 는 T 값 간 의 차 이 는 0 이다.
이 방법 은 주로 이미지 직사 도 에 뚜렷 한 파 곡 이 있 는 데 적용 된다.
2. 프로그램 코드:
1 //
2 // T, T T1 T2, ,T=(T1+T2)/2,
3 u8 GlobalThreshold(u8 **img, u16 height, u16 width)
4 {
5 u8 pg[256] = {0}; //
6 u16 i,j,t=0,t1,t2,k1,k2;
7 double u=0,u1,u2;
8
9 //for (i = 0; i<256; i++) pg[i]=0;
10 for (i = 0; i<height; i++) //
11 {
12 for (j = 0; j<width; j++)
13 {
14 pg[ img[i][j] ]++;
15 }
16 }
17
18
19
20 for (i=0;i<256;i++)
21 {
22 t += pg[i]; //
23 u += i * pg[i]; // i * i
24 }
25 k2 = (u16 )( u/t); // ,
26
27 do {
28 k1 = k2;
29 t1 = 0; u1 = 0;
30 for (i = 0; i<=k1; i++) // ,
31 {
32 t1 += pg[i]; //
33 u1 += i * pg[i];
34 }
35
36 t2 = t - t1; //
37 u2 = u - u1; //
38
39 if (t1)
40 u1=u1/t1; //
41 else
42 u1=0;
43
44 if (t2)
45 u2=u2/t2; //
46 else
47 u2=0;
48
49 k2 = (u16 )((u1 + u2)/2 ); //
50 }while( k1 != k2); // ,
51
52 return k1;
53 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.