资源简介
用opencv和c++编写的图像非线性滤波程序可直接使用

代码片段和文件信息
// feixianxianlvbo.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include “cv.h“
#include “highgui.h“
#define num_cout 15
#define K 30.0
#define dd pow(20.5)
#define dt (1.0/7.0)
int _tmain()
{
IplImage *img_src=cvLoadImage(“zebra_b.jpg“1);
IplImage *img_gray=cvCreateImage(cvGetSize(img_src)img_src->depth1);
cvCvtColor(img_srcimg_grayCV_BGR2GRAY);
//cvSaveImage(“tu1234.bmp“img_gray);
IplImage *img_resut=cvCreateImage(cvGetSize(img_src)img_src->depth1);
CvMat *mat_gray=cvCreateMat(img_gray->heightimg_gray->widthCV_32FC1);
CvMat *mat_resut=cvCreateMat(img_gray->heightimg_gray->widthCV_32FC1);
cvScale(img_graymat_gray1.0);
#define im_gray(ROWCOL) ((float *)(mat_gray->data.fl+mat_gray->step/sizeof(float)*(ROW)))[(COL)]
#define im_resut(ROWCOL) ((float *)(mat_resut->data.fl+mat_resut->step/sizeof(float)*(ROW)))[(COL)]
for (int n=0;n {
for (int i=1;irows-1;i++)
{
for (int j=1;jcols-1;j++)
{
float In=im_gray(i-1j)-im_gray(ij);
float Is=im_gray(i+1j)-im_gray(ij);
float Ie=im_gray(ij+1)-im_gray(ij);
float Iw=im_gray(ij-1)-im_gray(ij);
float Ine=im_gray(i-1j+1)-im_gray(ij);
float Ise=im_gray(i+1j+1)-im_gray(ij);
float Isw=im_gray(i+1j-1)-im_gray(ij);
float Inw=im_gray(i-1j-1)-im_gray(ij);
float Cn=1.0/(1+pow(In/K2.0));
float Cs=1.0/(1+pow(Is/K2.0));
float Ce=1.0/(1+pow(Ie/K2.0));
float Cw=1.0/(1+pow(Iw/K2.0));
float Cne= 1.0/(1+pow(Ine/K2.0));
float Cse= 1.0/(1+pow(Ise/K2.0));
float Csw=1.0/(1+pow(Isw/K2.0));
float Cnw= 1.0/(1+pow(Inw/K2.0));
im_resut(ij) =im_gray(ij)+(dt)*(Cn*In+Cs*Is+Ce*Ie+Cw*Iw
+(1.0/dd)*Cne*Ine+(1.0/dd)*Cse*Ise+
(1.0/dd)*Cnw*Inw+(1.0/dd)*Csw*Isw);
}
}
for (int i=0;irows;i++)
{
for (int j=0;jcols;j++)
{
im_gray(ij)=im_resut(ij) ;
}
}
}
//cvLaplace(mat_resutmat_resut3);
cvScale(mat_resutimg_resut1.0);
cvNamedWindow(“1“0);
cvShowImage(“1“img_resut);
cvWaitKey(0);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 31744 2013-04-15 16:41 feixianxianlvbo\Debug\feixianxianlvbo.exe
文件 337920 2013-04-15 16:41 feixianxianlvbo\Debug\feixianxianlvbo.ilk
文件 584704 2013-04-15 16:41 feixianxianlvbo\Debug\feixianxianlvbo.pdb
文件 8822 2013-04-15 16:41 feixianxianlvbo\feixianxianlvbo\Debug\BuildLog.htm
文件 663 2013-04-03 14:36 feixianxianlvbo\feixianxianlvbo\Debug\feixianxianlvbo.exe.em
文件 728 2013-04-03 14:36 feixianxianlvbo\feixianxianlvbo\Debug\feixianxianlvbo.exe.em
文件 621 2013-04-15 16:41 feixianxianlvbo\feixianxianlvbo\Debug\feixianxianlvbo.exe.intermediate.manifest
文件 30356 2013-04-15 16:41 feixianxianlvbo\feixianxianlvbo\Debug\feixianxianlvbo.obj
文件 3211264 2013-04-03 14:36 feixianxianlvbo\feixianxianlvbo\Debug\feixianxianlvbo.pch
文件 67 2013-04-15 16:41 feixianxianlvbo\feixianxianlvbo\Debug\mt.dep
文件 13025 2013-04-03 14:36 feixianxianlvbo\feixianxianlvbo\Debug\stdafx.obj
文件 666624 2013-04-15 16:41 feixianxianlvbo\feixianxianlvbo\Debug\vc90.idb
文件 200704 2013-04-15 16:41 feixianxianlvbo\feixianxianlvbo\Debug\vc90.pdb
文件 2169 2013-04-15 16:40 feixianxianlvbo\feixianxianlvbo\feixianxianlvbo.cpp
文件 4696 2013-04-03 09:38 feixianxianlvbo\feixianxianlvbo\feixianxianlvbo.vcproj
文件 1427 2013-04-15 16:42 feixianxianlvbo\feixianxianlvbo\feixianxianlvbo.vcproj.XU-9D61610ADC56.xu.user
文件 1231 2013-04-03 09:16 feixianxianlvbo\feixianxianlvbo\ReadMe.txt
文件 220 2013-04-03 09:16 feixianxianlvbo\feixianxianlvbo\stdafx.cpp
文件 233 2013-04-03 09:16 feixianxianlvbo\feixianxianlvbo\stdafx.h
文件 498 2013-04-03 09:16 feixianxianlvbo\feixianxianlvbo\targetver.h
文件 68752 2011-10-07 11:02 feixianxianlvbo\feixianxianlvbo\zebra_b.jpg
文件 8399872 2013-04-15 16:41 feixianxianlvbo\feixianxianlvbo.ncb
文件 911 2013-04-03 09:16 feixianxianlvbo\feixianxianlvbo.sln
..A..H. 9216 2013-04-15 16:42 feixianxianlvbo\feixianxianlvbo.suo
目录 0 2013-04-15 16:45 feixianxianlvbo\feixianxianlvbo\Debug
目录 0 2013-04-15 16:45 feixianxianlvbo\Debug
目录 0 2013-04-15 16:45 feixianxianlvbo\feixianxianlvbo
目录 0 2013-04-15 16:45 feixianxianlvbo
----------- --------- ---------- ----- ----
13576467 28
............此处省略1个文件信息
相关资源
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 人脸识别(opencv_facedetect_v4l2)
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- 基于opencv的模板匹配代码
- c++ 画图(14Qt-XPS)
评论
共有 条评论