Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2013, 23:18   #1
fredz
Новичок
Джуниор
 
Регистрация: 10.01.2013
Сообщений: 2
По умолчанию Обработка изображений путем их усреднения

Всем привет! Есть задача: уменьшение шума путем усреднения серии изображений (в примере их 25). В ходе решения этого вопроса идея и основа программы (консольное приложение) была заимствованна у автора с его страницы
http://www.aishack.in/2010/01/noise-...-by-averaging/
Там же рассказано о принципе усреднения. Используется OpenCV.
Вот еще один автор https://github.com/sinotov/no-noise
Вот код программы:
Код:
#include <opencv/cv.h>
#include <opencv/highgui.h>
 
using namespace cv;
 
int main()
{
 
        IplImage* imgRed[25];
        IplImage* imgGreen[25];
        IplImage* imgBlue[25];
        for(int i=0;i<25;i++)
            {
                IplImage* img;
                char filename[150];
                sprintf(filename, "D:\image\20130110_211620.jpg", (i+1)); // у автора было так   sprintf(filename, "%d.jpg", (i+1));
                img = cvLoadImage(filename);
                imgRed[i] = cvCreateImage(cvGetSize(img), 8, 1);
                imgGreen[i] = cvCreateImage(cvGetSize(img), 8, 1);
                imgBlue[i] = cvCreateImage(cvGetSize(img), 8, 1);
                cvSplit(img, imgRed[i], imgGreen[i], imgBlue[i], NULL);
                cvReleaseImage(&img);
            }
        CvSize imgSize = cvGetSize(imgRed[0]);
            IplImage* imgResultRed = cvCreateImage(imgSize, 8, 1);
            IplImage* imgResultGreen = cvCreateImage(imgSize, 8, 1);
            IplImage* imgResultBlue = cvCreateImage(imgSize, 8, 1);
 
            IplImage* imgResult = cvCreateImage(imgSize, 8, 3);
            for(int y=0;y<imgSize.height;y++)
                {
                    for(int x=0;x<imgSize.width;x++)
                    {
                        int theSumRed=0;
                        int theSumGreen=0;
                        int theSumBlue=0;
                        for(int i=0;i<25;i++)
                        {
                            theSumRed+=cvGetReal2D(imgRed[i], y, x);
                            theSumGreen+=cvGetReal2D(imgGreen[i], y, x);
                            theSumBlue+=cvGetReal2D(imgBlue[i], y, x);
                        }
                        theSumRed = (float)theSumRed/25.0f;
                        theSumGreen = (float)theSumGreen/25.0f;
                        theSumBlue = (float)theSumBlue/25.0f;
                        cvSetReal2D(imgResultRed, y, x, theSumRed);
                        cvSetReal2D(imgResultGreen, y, x, theSumGreen);
                        cvSetReal2D(imgResultBlue, y, x, theSumBlue);
                    }
                }
            cvMerge(imgResultRed, imgResultGreen, imgResultBlue, NULL, imgResult);
                cvNamedWindow("averaged");
                cvShowImage("averaged", imgResult);
                cvWaitKey(0);
 
                return 0;
            }
Но при ее запуске происходит что-то не так, т.е. собирается без ошибок, но вылетает сообщение "Прекращена работа программы test.exe"
Помогите решить вопрос. Здесь можно скачать изображения http://yadi.sk/d/EsgEJjAc1lvQz

Если у Вас есть другие идеи и решения этой задачи - буду только рад
Заранее Спасибо.
fredz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка изображений со спутника severovdrei Фриланс 7 01.07.2012 12:01
Обработка изображений MartinIden Помощь студентам 0 15.12.2011 00:52
Обработка изображений от видеокамер dimonbest Фриланс 2 01.02.2011 17:10
Обработка изображений на С AshMash Общие вопросы C/C++ 0 31.01.2011 19:13
Обработка изображений van-ok Помощь студентам 3 23.07.2009 19:53