openCV C++ 代码笔记
代码片段1
cv_contourMask_step_tmp=cv_contourMask.clone();
cv::Mat maskImage;
UIImageToMat(pathimg, maskImage,true);
// m_UIImageToMat1(pathimg, maskImage);
//大图叠加小区域
cv::Mat addrect(cv_contourMask,cv::Rect(offset.x,offset.y,pathimg.size.width,pathimg.size.height));
//maskImage.copyTo(addrect);
//dst = alpha*src1 + beta*src2 + gamma
if (self.isErase) {
// cv::addWeighted(addrect, 0, maskImage, 0, 0, addrect);
cv::subtract(addrect, maskImage, addrect);
}
else
{
//dst = alpha*src1 + beta*src2 + gamma
cv::addWeighted(addrect, , maskImage, , , addrect);
}
代码片段2
//二值
cv::threshold(tempImage,tempImage,thresh,,cv::THRESH_BINARY);
int c= tempImage.channels();
//UIImage *img2=MatToUIImage(tempImage);//调试显示图片
//根据中心点的颜色值来确定有效的位置
int tw=tempImage.cols;
int th=tempImage.rows;
int center=tempImage.at<uchar>(th/,th/); int x0=tw/;
int y0=th/; if(center==)
{
//中心点为黑色,翻转图片颜色
for(int i=;i<tw;i++)
{
for(int j=;j<th;j++)
{
if (tempImage.at<uchar>(j,i)==) {
tempImage.at<uchar>(j,i)=; }
else
{
tempImage.at<uchar>(j,i)=; }
}
}
}
2张4同道图片叠加:
void MergeImage(Mat bgImg,Mat fgImg,Mat& dstImg)
{
dstImg=bgImg.clone();
printf("%d",bgImg.channels());
printf("%d",fgImg.channels());
for (int y = ; y < fgImg.rows; y++)
{ const cv::Vec4b* fgImg_pixel = fgImg.ptr<cv::Vec4b>(y);
cv::Vec4b* dstImg_pixel = dstImg.ptr<cv::Vec4b>(y);
for (int x = ; x < fgImg.cols; x++,++fgImg_pixel, ++dstImg_pixel)
{
double alpha = (*fgImg_pixel).val[]/255.0;
(*dstImg_pixel).val[]=(*fgImg_pixel).val[]*alpha+(*dstImg_pixel).val[]*(-alpha);
(*dstImg_pixel).val[]=(*fgImg_pixel).val[]*alpha+(*dstImg_pixel).val[]*(-alpha);
(*dstImg_pixel).val[]=(*fgImg_pixel).val[]*alpha+(*dstImg_pixel).val[]*(-alpha); }
} }
openCV C++ 代码笔记的更多相关文章
- OpenCV入门学习笔记
OpenCV入门学习笔记 参照OpenCV中文论坛相关文档(http://www.opencv.org.cn/) 一.简介 OpenCV(Open Source Computer Vision),开源 ...
- Android NDK开发及OpenCV初步学习笔记
https://www.jianshu.com/p/c29bb20908da Android NDK开发及OpenCV初步学习笔记 Super_圣代 关注 2017.08.19 00:55* 字数 6 ...
- OpenCV图像处理学习笔记-Day1
OpenCV图像处理学习笔记-Day1 目录 OpenCV图像处理学习笔记-Day1 第1课:图像读入.显示和保存 1. 读入图像 2. 显示图像 3. 保存图像 第2课:图像处理入门基础 1. 基本 ...
- 【hadoop代码笔记】Mapreduce shuffle过程之Map输出过程
一.概要描述 shuffle是MapReduce的一个核心过程,因此没有在前面的MapReduce作业提交的过程中描述,而是单独拿出来比较详细的描述. 根据官方的流程图示如下: 本篇文章中只是想尝试从 ...
- 【hadoop代码笔记】hadoop作业提交之汇总
一.概述 在本篇博文中,试图通过代码了解hadoop job执行的整个流程.即用户提交的mapreduce的jar文件.输入提交到hadoop的集群,并在集群中运行.重点在代码的角度描述整个流程,有些 ...
- 【Hadoop代码笔记】目录
整理09年时候做的Hadoop的代码笔记. 开始. [Hadoop代码笔记]Hadoop作业提交之客户端作业提交 [Hadoop代码笔记]通过JobClient对Jobtracker的调用看详细了解H ...
- <Python Text Processing with NLTK 2.0 Cookbook>代码笔记
如下是<Python Text Processing with NLTK 2.0 Cookbook>一书部分章节的代码笔记. Tokenizing text into sentences ...
- [学习笔记] SSD代码笔记 + EifficientNet backbone 练习
SSD代码笔记 + EifficientNet backbone 练习 ssd代码完全ok了,然后用最近性能和速度都非常牛的Eifficient Net做backbone设计了自己的TinySSD网络 ...
- DW网页代码笔记
DW网页代码笔记 1.样式. class 插入类样式 标签技术(html)解决页面的内容样式技术(css)解决页面的外观脚本技术 解决页面动态交互问题<form> ...
随机推荐
- 导出(Excel格式)
poi导出,需要的poi jar包: 步骤一.两个工具类: 1.ExcelUtil.java package util; import java.awt.Color; import java.io.F ...
- 禁止换行“white-space:nowrap;”!
"white-space:nowrap;" <html> <div class="box">精彩的生活,精彩的世界</div> ...
- 虚拟机主机能互相ping通,但是无法远程连接
首先将虚拟机关机,找到Edit virtual machine Settings(编辑虚拟机设置)
- js获取URL中的参数
js获取URL中的一些参数的意思 location对象 含有当前URL的信息. 属性 href 整个URL字符串. protocol 含有URL第一部分的字符串,如http: host 包含有URL中 ...
- 电脑只有网页打不开,QQ和其他软件都能用
应该就是浏览器设置代理服务器的问题 1.打开浏览器->找到工具->internet选项->链接->局域网设置 将代理服务器下面勾去掉
- iOS SQLite3的使用
1.创建可修改的数据库文件 //应用包内的内容是不可写的,所以需要把应用包内的数据库拷贝一个副本到资源路径去 - (void)createEditableDatabase{ BOOL success; ...
- 基于Proteus仿真的Arduino学习(2)——LED点阵探究A(LED点阵基础)
一.前言: 随着LED的普及,以LED点阵为基础的显示设置层出不穷.例如,公交车的线路提示牌.高速公路的信息提示牌,安装在大楼上的广告屏幕等.下面,我们将由简单到复杂地探索各种LED点阵的使用方法,同 ...
- 本地xdebug调试搭建 Laravel+homestead+phpstorm
1.在homestead virtual box安装和配置xdebug 先在终端运行vagrant up 和 vagrant ssh,ssh远程到homestead,然后复制以下代码到一个shell文 ...
- C++: Virtual Table and Shared Memory
See at: 补充栏3: C++对象和共享内存 (叙述内容和Link1的内容基本一致) <C++网络编程 卷1:运用ACE和模式消除复杂性> <C++ Network Progra ...
- 【原】iOS学习之Xcode8关于控制台不打印错误信息
前几天将我的Xcode升到了8,但是在运行程序时,会打印很多没有用的信息,如下图: Xcode8运行程序时打印的乱码 于是各种寻求答案,找到如下答案: Edit Scheme-> Run -&g ...