opencv(9)---图像基本操作

本文详细介绍了使用OpenCV进行图像算数运算、逻辑运算的方法,包括加法、减法、乘法、除法及各种逻辑运算操作,并提供了具体的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码

#include "mainwindow.h"
#include <QApplication>
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    Mat img1=imread("D:\\1\\67.png");
    Mat img2=imread("D:\\1\\99.png");
    if(img1.empty()){
        cout<<"no 1.jpg read!"<<endl;
        return 0;
    }
    Mat dst;

    /*在此处写入处理代码*/
    ............................

    //比较原始结果和输出结果
    cout<<"image1 :  "<<int(img1.at<Vec3b>(10,10)[0])<<endl;
    cout<<"image2 :  "<<int(img2.at<Vec3b>(10,10)[0])<<endl;
    cout<<"dst :   "<<int(dst.at<Vec3b>(10,10)[0])<<endl;


    imshow("image1",img1);
    imshow("image2",img2);
    imshow("dst",dst);

    return a.exec();
}

图像算数运算

图像加法

常用函数: + add() addWeighted()
1. +

dst=img1+img2;

2. add()

add(img1,img1,dst);

3. addWeighted()

addWeighted(img1,0.5,img2,0.5,0,dst);

图像减法

常用函数: - substract absdiff
1. -

dst=img1-img2;

2. substract

subtract(img1,img2,dst);

3. absdiff

 /*这个函数可以用于做缺陷检测*/
 absdiff(img1,img2,dst);

函数区别
- substract如果值小于0,将值置为0;
absdiff如果值小于0,将值取反

注意:图像加减法中,图像的尺寸必须相同

图像乘除法

 /*图像乘法*/
 dst=5*img1;
/*图像除法*/
dst=img1/5;

图像逻辑运算

图像相与

/*图像相与*/
bitwise_and(img1,img2,dst);

图像相或

/*图像或运算*/
bitwise_or(img1,img2,dst);

图像非

/*图像取反*/
bitwise_not(img1,dst);

图像异或

/*图像异或*/
bitwise_xor(img1,img2,dst);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值