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, 1, maskImage, 1, 0, addrect); }
代码片段2
//二值 cv::threshold(tempImage,tempImage,thresh,255,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/2,th/2); int x0=tw/2; int y0=th/2; if(center==0) { //中心点为黑色,翻转图片颜色 for(int i=0;i<tw;i++) { for(int j=0;j<th;j++) { if (tempImage.at<uchar>(j,i)==0) { tempImage.at<uchar>(j,i)=255; } else { tempImage.at<uchar>(j,i)=0; } } } }
2张4同道图片叠加:
void MergeImage(Mat bgImg,Mat fgImg,Mat& dstImg) { dstImg=bgImg.clone(); printf("%d",bgImg.channels()); printf("%d",fgImg.channels()); for (int y = 0; 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 = 0; x < fgImg.cols; x++,++fgImg_pixel, ++dstImg_pixel) { double alpha = (*fgImg_pixel).val[3]/255.0; (*dstImg_pixel).val[0]=(*fgImg_pixel).val[0]*alpha+(*dstImg_pixel).val[0]*(1-alpha); (*dstImg_pixel).val[1]=(*fgImg_pixel).val[1]*alpha+(*dstImg_pixel).val[1]*(1-alpha); (*dstImg_pixel).val[2]=(*fgImg_pixel).val[2]*alpha+(*dstImg_pixel).val[2]*(1-alpha); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架