在学习opencv 多通道变单通道时 自己出现的一点错误

2023-05-16

#include "stdafx.h"
#include "highgui.h"

#include "cv.h"


int main()
{
IplImage* str1, str2, str3;
str1 = cvLoadImage("H:\\3.jpg");                                                          // load image
IplImage* img_B = cvCreateImage(cvGetSize(str1),IPL_DEPTH_8U,1); //single channle images
IplImage* img_G = cvCreateImage(cvGetSize(str1), IPL_DEPTH_8U, 1);
IplImage* img_R = cvCreateImage(cvGetSize(str1), IPL_DEPTH_8U, 1);

cvSplit(str1,img_B ,img_G, img_R, 0);                                                   //split the load image

      //plImage* clone1 = img;   这是我原先写的错误代码,我之前理解的是clone1和cloen2其实就是复制img,所以便直接将

     //IplImage* cloen2 = img; img赋值给cloen1和clone2,但是在运行时发现了明显的错误,这样的结果是G通道图像变成                                                     了空。在这里cloen2 = img 将两个图像产生了联系,将clone2置零,img也将被置零。

IplImage* clone1 = cvCloneImage (img_G);                                       //clone the G channle iamge
IplImage* clone2 = cvCloneImage (img_G);
double min = 0; double max = 255;                                                   //find the min and max points
CvPoint minpoint; CvPoint maxpoint;
cvMinMaxLoc(img_G, &min, &max, &minpoint, &maxpoint, 0);
printf("The min point in (%d,%d)\n", minpoint.x,minpoint.y);
printf("The max point in (%d,%d)\n", maxpoint.x,maxpoint.y);
double thresh = ((max - min) / 2.0); printf("thresh is %f", thresh);
cvSet(clone1, CvScalar(thresh,0,0), 0);
cvZero(clone2);                                                                                 // zero clone2
cvCmp(img_G, clone1, clone2, CV_CMP_GE);
cvSubS(img_G, CvScalar(thresh / 2), img_G, clone2);
cvShowImage("掩码图像", clone2);
cvShowImage("origin", str1);
cvShowImage("G", img_G);
cvWaitKey(0);
return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在学习opencv 多通道变单通道时 自己出现的一点错误 的相关文章

  • 数据分析面试、笔试题汇总+解析(六)

    xff08 接上篇 xff09 面试题 xff08 MySQL篇 xff09 3 如何提高MySQL的查询速度 xff1f 考点解析 xff1a 考察面试者对MySQL查询优化的理解 参考答案 xff1a xff08 因为这个问题如果回答的
  • 力扣584.寻找用户推荐人 - 你应该知道的五种MySQL解法

    题目链接 xff1a 584 寻找用户推荐人 解题思路 此题思路其实很简单 xff1a 只需要在条件查询中筛选推荐人编号都不是2的用户就能返回正确答案 但是这里有一个坑大家要注意 xff1a customer表中referee id列是包含
  • 浅析“04.23王者荣耀KPL比赛因出现硬件异常导致比赛延期”这一事件

    背景 不知道朋友们有没有看昨天晚上八点多的王者荣耀KPL比赛 xff08 成都AG超玩会VS广州TTG xff09 这一场 xff0c 当时比赛进行到快15分钟的时候出现了红方请求暂停的情况 xff0c 后来比赛直播界面就一直提示如下 xf
  • 初识网络基础《网络七层模型详解》

    坚持原创输出 xff0c 点击蓝字关注我吧 图片来自网络 目录 一 初识网络基础二 网络七层模型详解 1 物理层2 数据链路层3 网络层4 传输层5 会话层6 表示层7 应用层三 总结 一 初识网络基础 其实网络刚刚开始发展的时候 xff0
  • winScp连接Ubuntu 连接不上问题解决

    今天把服务器重装了之后就一直连不上 显示 网络连接超时 xff0c 可以尝试以下几种方法 xff1a 1 把linux的防火墙关了 xff1a 查看防火墙的信息 xff1a service iptables status 开启防火墙 xff
  • ctf中pwn题目总结

    pwntools工具使用 1 安装 pip install pwntools xff08 python2 xff09 pip3 install pwntools xff08 python3 xff09 2 使用 Context设置 cont
  • python学习--for循环详解

    最近开始整理python的资料 xff0c 博主建立了一个qq群 xff0c 希望给大家提供一个交流的平台 78486745 一 使用for循环实现简单功能 span class token triple quoted string str
  • 字符串排序-C语言实例

    1 简单的字符串排序 给定有限个字符串 将其按照大小顺序排列 此时的大小顺序简单来说我们可以先认为是ASCLL码的大小顺序 由此我们只需要比较字符串的ASCLL码的大小即可 2 算法设计 1 输入10个字符串 2 任选一种排序算法对字符串排
  • C语言最全入门笔记

    c语言入门 C语言一经出现就以其功能丰富 表达能力强 灵活方便 应用面广等特点迅速在全世界普及和推广 C语言不但执行效率高而且可移植性好 xff0c 可以用来开发应用软件 驱动 操作系统等 C语言也是其它众多高级语言的鼻祖语言 xff0c
  • bios uefi 区别_UEFI vs BIOS:有何区别?

    bios uefi 区别 So you might have heard the acronyms BIOS and UEFI thrown around especially when trying to switch Operating
  • mysql查看使用的配置文件路径

    mysql怎么查看使用的配置文件路径 xff1f 结论 mysql help grep 39 my cnf 39 或 mysqld verbose help grep A 1 39 Default options 39 通过以上两个命令就可
  • 家庭宽带光猫改桥接模式教程-淇云博客

    目前大多数家庭宽带默认是在光猫直接拨号上网的 xff0c 如果你想要改为自己的路由器拨号比较麻烦 xff0c 需要光猫的超级管理员账号才可以进后台修改 xff0c 但是光猫的超级管理员账号会被运营商远程修改 xff0c 一般也不会告诉用户
  • WSL 下的Linux删除文件夹

    WSL 下的Linux删除文件夹 问题导出 最近在学习Tengine框架 xff0c 下载源码编译成功 xff0c 改了几行代码后准备重新编译一下 xff0c 于是便在文件系统里 xff0c 鼠标右键删除了build文件夹 xff0c 之后
  • CSDN博客代码高亮显示

    今天分享下在CSDN写博客的时候如何设置代码高亮 一 首先进入个人博客界面 xff1a 三 设置选择你的博客标题 描述和想要的皮肤并选择代码显示格式 三 进入管理界面后进入博客设置 那么走到这里 xff0c 你肯定已经开始迫不及待的去实验了
  • Python - 对象=属性+方法,实例化是从类变成实例对象的过程

    Python面向对象三大特征 xff1a 封装 继承 多态 类的封装 xff1a 封装之后 xff0c 可以直接调用类的对象 xff0c 来操作内部的一些类方法 xff0c 不需要让使用者看到代码工作的细节 类的继承 xff1a 类可以从其
  • Mysql使用SSL连接

    最近项目中用到了SSL连接 xff0c 记录一下 xff0c 环境为windows10 xff0c Mysql版本为5 6 查看是否支持 SSL 首先在 MySQL 上执行如下命令 查询是否 MySQL 支持 SSL mysql gt SH
  • mysql里查到所有的编码格式都是utf8时还是不能插入中文字符

    xff4d xff59 xff53 xff51 xff4c 里查到所有的编码格式都是 xff55 xff54 xff46 xff18 时还是不能插入中文字符 查得编码格式都是 xff55 xff54 xff46 xff18 xff1a 插入
  • 现学现卖,使用Debian创建Ngrok服务器,穿透层层内网,使用树莓派做web服务器,运行宝塔Linux面板。

    前言 因为准备创建俱乐部 xff0c 需要用到网站等内容 而创建俱乐部本身就是为了学习树莓派 编程等内容的 xff0c 所以计划使用树莓派做Web服务器 xff0c 不过因为设备在内网 xff0c 而且没有固定IP xff0c 需要用到内网
  • PG系列5-SQL高级特性1(with查询,批量插入,数据抽样...)

    文章目录 1 WITH查询1 1 复杂查询使用CTE1 2 递归查询使用CTE 2 批量插入2 1 方式一 xff1a INSERT INTO SELECT 2 2 方式二 xff1a INSERT INTO VALUES xff08 xf
  • 完美解决VMware虚拟机 Linux系统 Ubuntu 20.04 硬盘/磁盘扩容的问题(超级超级详细)

    感谢CSDN博主的文章 xff0c 我使用ubuntu20 04进行以下ubuntu16 04同样的操作步骤之后已经将40G扩充为80G 本文参考转装链接 xff1a https blog csdn net m0 43403238 arti

随机推荐