Форум программистов, компьютерный форум, киберфорум
Наши страницы

Матрица скручивания - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с файлами http://www.cyberforum.ru/cpp-beginners/thread262758.html
Имеется файл с некоторым текстом (совокупность пустых и не пустых строк). Не могу придумать алгоритм, с помощью которого через стандартный поток вывода (stdout) выводит ненулые (непустые) строки. ...
C++ СД Двунаправленный список Ребят помогите пожалуйста понять что значит сделать двунаправленный список используя обьектно-ориентированное программирование. Хотяб разьясните как это.я так понял это нужно создавать класс а все... http://www.cyberforum.ru/cpp-beginners/thread262756.html
C++ Скопировать string из одной строки в другую
надо из одной строки в другую определенное количество символов с определенной позиции Например: #include <string> #include <iostream> using namespace std; int main() { string h = "asfjlj";
Cамоучитель, посоветуйте C++
Посоветуйте книгу какую-нибудь по С++ в среде visual studio для начинающих. для совсем начинающих) ну в общем вот и вся проблема) заранее благодарна!
C++ Дано натуральное число. Найти ближайшее простое число http://www.cyberforum.ru/cpp-beginners/thread262736.html
1. Дано натуральное число. Найти ближайшее простое число. 2. Дано 20 пар однозначных чисел. Первое число каждой пары означает количество забитых мячей в матче, второе - пропущенных в той же игре....
C++ Найти площадь равностороннего треугольника, если известна его стороны 1. Найти площадь равностороннего треугольника, если известна его стороны. 2. Написать программу, которая вычисляет количество населения планеты за год, если задано текущее количество населения,... подробнее

Показать сообщение отдельно
Dimon16
14 / 14 / 1
Регистрация: 09.06.2010
Сообщений: 35

Матрица скручивания - C++

23.03.2011, 19:03. Просмотров 706. Ответов 0
Метки (Все метки)

Вот написал код для матрицы скручивания,но он чего-то работает не для всех фильтров :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#pragma once
 
#include "Image.h"
#include "MathHelper.h"
 
 
typedef struct Matrix_3x3
{
    int Mat[3][3];
    int Divisor;
    int Offset;
};
 
void Process_Convolution3x3(IMG * Pic, Matrix_3x3 M)
{
        int TR, TG, TB;
        int R, G, B;
 
        UINT IDX;
 
        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);
 
                        TR *= M.Mat[Item + 1][Row + 1];
                        TG *= M.Mat[Item + 1][Row + 1];
                        TB *= M.Mat[Item + 1][Row + 1];
 
                        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);
 
                R = 0;
                G = 0;
                B = 0;
            }
        }
}
Объясните пожалуйста в чем тут ошибка?
Работает только для Blur'a и Negativ'a.
Заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.