图像差分 (IplImage *) 版

2023-11-05 04:38
文章标签 图像 差分 iplimage

本文主要是介绍图像差分 (IplImage *) 版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//图像差分
#include <stdio.h>
#include <stdlib.h>
#include "cv.h"
#include "highgui.h"
#include <iostream>using namespace std;void Image_Minus(IplImage *X, IplImage *Y, IplImage *X_Y)
{//图像差分函数,将图像1中像素和图像2中对应像素想减,要求X、Y、X_Y大小相同int i,j,width,height,step,chanel;unsigned char *dataX, *dataY, *dataX_Y;width = X->width;height = X->height;//存入矩阵数据dataX = (unsigned char *)X->imageData;dataY = (unsigned char *)Y->imageData;dataX_Y = (unsigned char *)X_Y->imageData;//计算步长//step = X->widthStep/sizeof(char);step = X->widthStep/sizeof(uchar);chanel = X->nChannels;//一个个数据处理for(i=0; i<height; i++)for(j=0; j<width*chanel; j++){//dataX_Y[i*step+j] = abs( dataX[i*step+j] - dataY[i*step+j]);//255是白色if(dataX[i*step+j] != dataY[i*step+j])dataX_Y[i*step+j]=150;elsedataX_Y[i*step+j]=dataX[i*step+j];}
}int main()
{IplImage* pImgX;IplImage* pImgY;IplImage* pImgX_Y;CvSize dest_size;pImgX = cvLoadImage("mmr_out.jpg", -1);pImgY = cvLoadImage("zcr_out.jpg", -1);//cvShowImage("先看看", pImgX);if(pImgX==0 || pImgY==0){printf("载入文件失败!/n");return -1;}dest_size.width = pImgX->width;dest_size.height = pImgX->height;cout<<"width == "<<dest_size.width<<endl;cout<<"height == "<<dest_size.height<<endl;pImgX_Y = cvCreateImage(dest_size, pImgX->depth, pImgX->nChannels);//图像差分,最最关键的一步Image_Minus(pImgX, pImgY, pImgX_Y);//创建窗口cvNamedWindow("Picture X:", 1);cvNamedWindow("Picture Y:", 1);cvNamedWindow("Picture X-Y:", 1);//显示图像cvShowImage("Picture X:", pImgX);cvShowImage("Picture Y:", pImgY);cvShowImage("Picture X-Y:", pImgX_Y);cvWaitKey(0);//销毁窗口cvDestroyWindow("Picture X:");cvDestroyWindow("Picture Y:");cvDestroyWindow("Picture X-Y:");//释放图像cvReleaseImage(&pImgX);cvReleaseImage(&pImgY);cvReleaseImage(&pImgX_Y);return 0;
}



这篇关于图像差分 (IplImage *) 版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/347464

相关文章

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

poj 3159 (spfa差分约束最短路) poj 1201

poj 3159: 题意: 每次给出b比a多不多于c个糖果,求n最多比1多多少个糖果。 解析: 差分约束。 这个博客讲差分约束讲的比较好: http://www.cnblogs.com/void/archive/2011/08/26/2153928.html 套个spfa。 代码: #include <iostream>#include <cstdio>#i

poj 3169 spfa 差分约束

题意: 给n只牛,这些牛有些关系。 ml个关系:fr 与 to 牛间的距离要小于等于 cost。 md个关系:fr 与 to 牛间的距离要大于等于 cost。 隐含关系: d[ i ] <= d[ i + 1 ] 解析: 用以上关系建图,求1-n间最短路即可。 新学了一种建图的方法。。。。。。 代码: #include <iostream>#include

POJ 1364差分约束

给出n个变量,m个约束公式 Sa + Sa+1 + .... + Sa+b < ki or > ki ,叫你判断是否存在着解满足这m组约束公式。 Sa + Sa+1   +   .+ Sa+b =  Sum[a+b] - Sum[a-1]  . 注意加入源点n+1 。 public class Main {public static void main(Strin

Verybot之OpenCV应用一:安装与图像采集测试

在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.

【python计算机视觉编程——8.图像内容分类】

python计算机视觉编程——8.图像内容分类 8.图像内容分类8.1 K邻近分类法(KNN)8.1.1 一个简单的二维示例8.1.2 用稠密SIFT作为图像特征8.1.3 图像分类:手势识别 8.2贝叶斯分类器用PCA降维 8.3 支持向量机8.3.2 再论手势识别 8.4 光学字符识别8.4.2 选取特征8.4.3 多类支持向量机8.4.4 提取单元格并识别字符8.4.5 图像校正

HalconDotNet中的图像特征与提取详解

文章目录 简介一、边缘特征提取二、角点特征提取三、区域特征提取四、纹理特征提取五、形状特征提取 简介   图像特征提取是图像处理中的一个重要步骤,用于从图像中提取有意义的特征,以便进行进一步的分析和处理。HalconDotNet提供了多种图像特征提取方法,每种方法都有其特定的应用场景和优缺点。 一、边缘特征提取   边缘特征提取是图像处理中最基本的特征提取方法之一,通过检

超越IP-Adapter!阿里提出UniPortrait,可通过文本定制生成高保真的单人或多人图像。

阿里提出UniPortrait,能根据用户提供的文本描述,快速生成既忠实于原图又能灵活调整的个性化人像,用户甚至可以通过简单的句子来描述多个不同的人物,而不需要一一指定每个人的位置。这种设计大大简化了用户的操作,提升了个性化生成的效率和效果。 UniPortrait以统一的方式定制单 ID 和多 ID 图像,提供高保真身份保存、广泛的面部可编辑性、自由格式的文本描述,并且无需预先确定的布局。

Winfrom中解决图像、文字模糊的方法

1.添加清单 2.将清单中的下面内容取消注释