问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问哪位有图像处理的代码,任何代码都可以,谢谢……

发布网友 发布时间:2023-08-12 16:30

我来回答

1个回答

热心网友 时间:2024-08-17 16:57

你要哪方面的?给你个sobel求梯度灰度吧
#include"cxcore.h"
#include"highgui.h"
#include<cmath>
#pragma comment(lib,"cv.lib")
#pragma comment(lib,"highgui.lib")
#pragma comment(lib,"cxcore.lib")

#define Threshold 150
IplImage* src; //原图
IplImage* tar; // 边缘检测后生成的新图
IplImage* gray; //灰度图

//sobel 算子
int Func_Sobel(IplImage *src,IplImage* tar,int limit)
{
int sobelmask1[3][3], sobelmask2[3][3];

//水平模板
sobelmask1[0][0] = -1; //{-1,0,1,-2,0,2,-1,0,1};
sobelmask1[0][1] = -2;
sobelmask1[0][2] = -1;
sobelmask1[1][0] = 0;
sobelmask1[1][1] = 0;
sobelmask1[1][2] = 0;
sobelmask1[2][0] = 1;
sobelmask1[2][1] = 2;
sobelmask1[2][2] = 1;
//垂直模板

sobelmask2[0][0] = -1; //{-1,-2,-1,0,0,0,1,2,1};
sobelmask2[0][1] = 0;
sobelmask2[0][2] = 1;
sobelmask2[1][0] = -2;
sobelmask2[1][1] = 0;
sobelmask2[1][2] = 2;
sobelmask2[2][0] = -1;
sobelmask2[2][1] = 0;
sobelmask2[2][2] = 1;

int H=src->height;
int W=src->width;
int i,j,h,w,temp1,temp2;
for (h=1;h<H-1;h++)
{
for (w=1;w<W-1;w++)
{
temp1=temp2=0;
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
temp1+=(src->imageData+(h-1+i)*src->widthStep)[(w-1+j)]*sobelmask1[i][j];
temp2+=(src->imageData+(h-1+i)*src->widthStep)[(w-1+j)]*sobelmask2[i][j];
}
}
double k=sqrt(temp1*temp1+temp2*temp2);

if (k>limit)
{
(tar->imageData+ tar->widthStep*h )[w]=(uchar)255; //从定值到变量转换要强制转换数据类型
}
else
(tar->imageData+tar->widthStep*h)[w]=(uchar)0;
}
}
return 0;
}

//获取灰度图
void Func_GetGrayImage(IplImage *src,IplImage *tar)
{
int H=src->height;
int W=src->width;
int w,h;
for (h=0;h<H;h++)
{
for (w=0;w<W;w++)
{
(tar->imageData+h*tar->widthStep)[w]=(unsigned char)((unsigned char)(src->imageData+h*src->widthStep)[3*w+2]*0.136+(unsigned char)(src->imageData+h*src->widthStep)[3*w+1]*0.514+(unsigned char)(src->imageData+h*src->widthStep)[3*w]*0.350);
}
}

}

void Func_ShowWindow()
{
cvNamedWindow("原图",0); //CV库函数,窗口定义函数,定义窗口,用于下一步的显示
cvShowImage("原图",src); //cv库函数,标题栏是“原图”,显示src所指向的图像

cvNamedWindow("灰度图",0);
cvShowImage("灰度图",gray);

cvNamedWindow("边缘检测图形",0);
cvShowImage("边缘检测图形",tar);
}

void Func_SaveWindow()
{
cvSaveImage("灰度图.jpg",gray);
cvSaveImage("边缘检测图.jpg",tar);

}

void Func_CloseWindow()
{
cvReleaseImage(&src);
cvReleaseImage(&gray);
cvReleaseImage(&tar);

cvDestroyWindow("原图");
cvDestroyWindow("灰度图");
cvDestroyWindow("边缘检测图");

}

void main()
{
if ( (src=cvLoadImage("test.bmp")) )
{
tar=cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_8U,1);
gray=cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_8U,1);
Func_GetGrayImage(src,gray);
Func_Sobel(gray,tar,Threshold); //阈值默认为150

Func_ShowWindow();
Func_SaveWindow();
cvWaitKey(100000);
Func_CloseWindow();

}
return ;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华为freebuds4i切歌怎么操作_华为freebuds4i怎么切歌 华为freebuds pro切歌方法_华为freebuds pro怎么切歌 华为耳机怎么切换下一曲 欧美电影,好像是宠物有一个世界,宠物会想办法跟主人的灵魂互换占据 ...的名字,欧洲中世纪,一个王子的继母把他的灵魂和狗的灵魂互换了... 问一部外国电影的名字 剧情记得不大清楚l了 是前几年的片子 灵魂互换的... HUAWEI 华为 AGS2-W09 10.1英寸平板电脑 (香槟金、64GB+4GB、WiFi版... 诛仙3百法和千法差距大吗 微信怎么解除应用授权登录 授权应用删除方法 微信怎么解除应用授权登录授权应用删除方法 光模块接口的类型有哪些,各有什么含义? 梦见在窑洞碰见陌生人的预兆 晶瓷画发黄用塑料清洗剂有用吗 塑料油污清洗剂怎泡下能掉吧 frm文件如何建立 ...皇后”的女明星,杨蓉霸气,秦岚温柔,蔡少芬是什么样的? 空调加氟压力表怎么看度数 一切事物都会消失就是这样消失什么意思? 什么东西晒在太阳底下很热? 干银耳能放冰箱里保存几天 什么灯笼像什么 洁肤晶露和洗面奶哪个适合我? 卡尼尔真采净白柔珠洁面晶露和洁面乳有什么区别啊? 洁面晶露好还是洗面奶好?(要做广告的,请不要进来,谢谢) 1992年度十大劲歌金曲颁奖典礼的十大金曲 一个人不接电话有几种可能性?所有… 如果一个人一直不接电话你会一直打吗? 交通部门事故检验鉴定有哪些要求 部队干部父母住院可以报销吗 20万存邮政银行三年死期利息是多少?(邮政储蓄20万存三年定期利息... word文档怎样设置双面打印? 老师给学生布置写作文 水在多少度沸腾? 珠市口地铁站到鸟巢 珠市口到鸟巢怎么坐车呀,地铁公交都可以。 2匹挂机空调适用多少平米 ...QQ里的红包钱给我发的,我过会点开缺被别人给拿走了! 原神映射研究之所通关攻略映射研究之所怎么打 原神映射研究之所位置一览 原神振晶的研究攻略第二天衍射的猜想2000分通关搭配 原神振晶的研究第二天最全攻略 原神振晶的研究第二天攻略分享原神振晶的研究第二天怎么过 原神激发的推论怎么过 富士变频过载降频怎么解决视频 专科学历可以正常报考教师资格证吗 五年专毕业可以考小学教师资格证? 番茄畅听广告推荐的小说有哪些 奥格斯特造雪机能连续工作多少天 梦见鲶鱼吃人是什么意思 oppo手机怎么扫码连接wifi网络