문제 1. Grayscale Lenna에서 차분값 Δ = X - (A+C)/2을 구한 후에 차영상 버퍼에 저장 2. 차영상의 histogram을 구하세요. Δ는 음수값이 나오므로 +128을 더해서 처리해보자. |
1. 코드
BYTE A, C, X;
int Delta;
BYTE* outBuf = new BYTE[m_Width * m_Height];
int hist[256] = { 0, };
for (i = 1; i < m_Height; i++)
{
for (j = 1; j < m_Width; j++)
{
X = *(YBuf + i * m_Width + j);
A = *(YBuf + i * m_Width + j - 1);
C = *(YBuf + (i - 1) * m_Width + j);
Delta = X - (A + C) / 2;
Delta += 128;
if (Delta > 255) Delta = 255;
if (Delta < 0) Delta = 0;
*(outBuf + i * m_Width + j) = (BYTE)Delta;
hist[Delta]++;
}
}
for (i = 0; i < 256; i++) {
std::cout << i << "\t" << hist[i] << std::endl;
}
2. 결과
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 0
12 0
13 0
14 0
15 0
16 0
17 0
18 0
19 0
20 0
21 0
22 0
23 0
24 0
25 0
26 0
27 0
28 0
29 0
30 0
31 0
32 0
33 0
34 0
35 1
36 1
37 1
38 0
39 0
40 0
41 3
42 1
43 4
44 3
45 1
46 2
47 3
48 1
49 6
50 6
51 2
52 5
53 4
54 8
55 6
56 5
57 7
58 6
59 8
60 11
61 12
62 8
63 9
64 10
65 13
66 6
67 15
68 10
69 12
70 14
71 10
72 12
73 12
74 12
75 12
76 15
77 24
78 17
79 19
80 23
81 29
82 29
83 37
84 26
85 34
86 34
87 47
88 47
89 56
90 61
91 57
92 80
93 83
94 96
95 105
96 95
97 124
98 138
99 132
100 143
101 204
102 218
103 239
104 258
105 284
106 308
107 388
108 360
109 471
110 480
111 597
112 663
113 739
114 960
115 998
116 1253
117 1485
118 1777
119 2227
120 2954
121 4008
122 5696
123 7936
124 11241
125 15703
126 20422
127 24944
128 27193
129 26606
130 23229
131 18291
132 13518
133 9849
134 7113
135 5127
136 3709
137 2940
138 2212
139 1793
140 1450
141 1180
142 994
143 859
144 735
145 666
146 597
147 501
148 427
149 374
150 319
151 300
152 239
153 259
154 215
155 175
156 148
157 143
158 147
159 124
160 125
161 102
162 96
163 94
164 68
165 62
166 60
167 58
168 55
169 43
170 41
171 40
172 34
173 24
174 19
175 20
176 18
177 12
178 10
179 9
180 19
181 13
182 5
183 6
184 2
185 3
186 4
187 3
188 1
189 2
190 2
191 1
192 2
193 1
194 0
195 1
196 2
197 2
198 2
199 0
200 1
201 0
202 0
203 0
204 1
205 0
206 0
207 0
208 0
209 0
210 0
211 0
212 0
213 0
214 0
215 0
216 0
217 0
218 0
219 0
220 0
221 0
222 0
223 0
224 0
225 0
226 0
227 0
228 0
229 0
230 0
231 0
232 0
233 0
234 0
235 0
236 0
237 0
238 0
239 0
240 0
241 0
242 0
243 0
244 0
245 0
246 0
247 0
248 0
249 0
250 0
251 0
252 0
253 0
254 0
255 0
'영상처리' 카테고리의 다른 글
[영상처리] 상관성(Correlation) (0) | 2022.11.18 |
---|---|
[영상처리] DCT 계수 (0) | 2022.11.17 |
[영상처리] 영상 확대 (0) | 2022.11.16 |
[영상처리] Edge 검출을 위해서 Sobel Edge 연산자를 이용 (0) | 2022.11.16 |
[영상처리] Sharpening Filter (0) | 2022.11.16 |