Страница: 1 |
Вопрос: Непонятный глюк | Добавлено: 20.03.11 11:52 |
Автор вопроса: ![]() |
Обьясните мне в чем тут дело,вроде написано всё верно,а выдает какой то бред,я уже и лог начал вести,вот кусок,посмотрите какой бред выдает :
R = 218 * 0 ,G = 199 * 0 ,B = 185 * 0 R = 1 , G = 1 , B = 0 R = 209 * 0 ,G = 191 * 0 ,B = 179 * 0 R = 1 , G = 1 , B = 0 R = 204 * 0 ,G = 184 * 0 ,B = 173 * 0 R = 1 , G = 1 , B = 0 R = 220 * 0 ,G = 202 * 0 ,B = 188 * 0 R = 1 , G = 1 , B = 0 R = 214 * -1 ,G = 196 * -1 ,B = 184 * -1 R = 1 , G = 1 , B = -214 R = 208 * 0 ,G = 192 * 0 ,B = 179 * 0 R = 1 , G = 1 , B = 0 R = 226 * 0 ,G = 207 * 0 ,B = 193 * 0 R = 1 , G = 1 , B = 0 R = 228 * 0 ,G = 209 * 0 ,B = 195 * 0 R = 1 , G = 1 , B = 0 R = 223 * 0 ,G = 207 * 0 ,B = 194 * 0 R = 1 , G = 1 , B = 0 R = 209 * 0 ,G = 191 * 0 ,B = 179 * 0 R = 2 , G = 1 , B = 0 R = 204 * 0 ,G = 184 * 0 ,B = 173 * 0 R = 2 , G = 1 , B = 0 как такое может быть? вот сам код : [CODE] void Process_Convolution3x3(IMG * Pic, Matrix_3x3 M) { int TR, TG, TB; int R, G, B; UINT IDX; FILE * f = fopen("log.txt","w"); for(int Y = 1;Y < Pic -> Height - 1;Y++) { for(int X = 1;X < Pic -> Width - 1;X++) { //Обрабатываем квадрат заданый матрицой for(int Row = -1;Row < 2;Row++) { for(int Item = -1;Item < 2;Item++) { IDX = ((Y + Row) * Pic -> Width + (X + Item)) * Pic -> BytesPerPixel; TR = *(Pic -> Data + IDX + Pic -> R_IDX); TG = *(Pic -> Data + IDX + Pic -> G_IDX); TB = *(Pic -> Data + IDX + Pic -> B_IDX); if(X < 100 && Y < 100) { fprintf(f," R = %d * %d ,G = %d * %d ,B = %d * %d \n",TR,M.Mat[Row + 1][Item + 1] ,TG,M.Mat[Row + 1][Item + 1],TB,M.Mat[Row + 1][Item + 1]); } TR *= M.Mat[Row + 1][Item + 1]; TG *= M.Mat[Row + 1][Item + 1]; TB *= M.Mat[Row + 1][Item + 1]; if(X < 100 && Y < 100) { fprintf(f," R = %d , G = %d , B = %d \n",X,Y,TR,TG,TB); } R += TR; G += TG; B += TB; } } IDX = (Y * Pic -> Width + X) * Pic -> BytesPerPixel; R = (R / M.Divisor) + M.Offset; G = (G / M.Divisor) + M.Offset; B = (B / M.Divisor) + M.Offset; *(Pic -> Data + IDX + Pic -> R_IDX) = Clamp(R, 0, 255); *(Pic -> Data + IDX + Pic -> G_IDX) = Clamp(G, 0, 255); *(Pic -> Data + IDX + Pic -> B_IDX) = Clamp(B, 0, 255); } } fclose(f); } уже два дня маюсь,не могу понять в чем глюк!Помогите пождалуйста... Заранее спасибо |
Ответы | Всего ответов: 11 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 20.03.11 12:56 |
R = X, G = Y, B = TR |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 20.03.11 12:58 |
и вообще %d - это ж вроде double, а тут одни int |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 0 Ответов: 42 |
Профиль | Цитата | #3 | Добавлено: 20.03.11 14:33 |
d - десятичное целое
i - десятичное целое со знаком это если я в лекции ничего не напутал( |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 20 Ответов: 79 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 20.03.11 16:13 |
поменял на %i,а результат тот же самйы!Как он так криво умножает? |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 20 Ответов: 79 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 20.03.11 16:20 |
Winand,спасибо тебе огромное,а то я думаю,что хрень! |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 20 Ответов: 79 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 20.03.11 17:10 |
Счас я все исправил,теперь почти все работает,но для некоторых матриц это фильтр не работает,можете обьяснить почему?
|
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 20 Ответов: 79 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 25.03.11 21:07 |
Что никто не знает? |
Номер ответа: 8 Автор ответа: ![]() ![]() ICQ: 357911808 Вопросов: 118 Ответов: 1340 |
Web-сайт: Профиль | Цитата | #8 | Добавлено: 25.03.11 21:35 |
вероятно |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #9 | Добавлено: 25.03.11 22:41 |
я думаю, скорее, всем просто лень запускать твой код и ковыряться там |
Номер ответа: 10 Автор ответа: ![]() ![]() ICQ: 357911808 Вопросов: 118 Ответов: 1340 |
Web-сайт: Профиль | Цитата | #10 | Добавлено: 26.03.11 14:15 |
точно |
Номер ответа: 11 Автор ответа: ![]() ![]() Вопросов: 0 Ответов: 1 |
Web-сайт: Профиль | Цитата | #11 | Добавлено: 29.03.11 19:02 |
Я вообще не вдуплю о чем речь. |
Страница: 1 |
|