BS版图形系统 - OpenCV - 第4章笔记

DeepSeek研发的精算大模型「精卫」已实现98%精算任务覆盖,中国人寿采用后年节约3.2亿元技术采购成本,形成关键技术替代效应 根据现有资料,精算领域关键技术替代效应的行业标准定义尚未明确具体提及。然而,可以从相关文献中提取一些关键概念和方法来推导出可能的定义。​替代效应的基本定义​:替代效应是指一种商品价格变动引起另一种商品的相对价格变动,从而导致消费者在维持原有效用水平不变的条件下对商品需求量做出的调整。​技术替代效应​:在精算领域,技术替代效应可以理解为新技术或新方法对现有技术或方法的替代,从而影响精算模型、数据处理和决策过程。例如,机器学习在精算中的应用日益增长,改变了精算师的工作方式和模型构建方法。​。 阅读详情


QQ: 282397369

4 深入研究直方图和滤波器

4.1 技术要求

4.2 生成CMake脚本文件

4.3 创建图形用户界面

  • Show histogram
  • Equalize histogram
  • Lomography effect
  • Cartoonize effect
    在这里插入图片描述

4.4 绘制直方图

  • split
vector<Mat> bgr;		// 3个矩阵来处理每个输入图像通道
split(img, bgr);		// 划分成3个通道
int numbins = 256; 		// 定义直方图的区间数[每个可能的像素值对应一个区间]
float range[] = {0, 256};  // 定义变量范围
const float * histRange = {range}; 
Mat b_hist, g_hist, r_hist;	// 创建3个矩阵来存储每个直方图
calcHist( &bgr[0], 1, 0, Mat(), b_hist, 1, &numbins, &histRange );
calcHist( &bgr[1], 1, 0, Mat(), g_hist, 1, &numbins, &histRange );
calcHist( &bgr[2], 1, 0, Mat(), r_hist, 1, &numbins, &histRange );

Mat histImage( height, width, CV_8UC3, Scalar(20,20,20) );	// 准备绘制
normalize(b_hist, b_hist, 0, height,NORM_MINMAX );			// 标准化直方图矩阵[最大值与输出直方图图像的高度相同]
normalize(g_hist, g_hist, 0, height, NORM_MINMAX );
normalize(r_hist, r_hist, 0, height, NORM_MINMAX );


int binStep=cvRound((float)width/(float)numbins);
for( int i=1; i< numbins; i++)
{
   line( histImage, 
           Point( binStep*(i-1), height-cvRound(b_hist.at<float>(i-1) ) ),
           Point( binStep*(i), height-cvRound(b_hist.at<float>(i) ) ),
           Scalar(255,0,0)
       );
   line( histImage, 
           Point( binStep*(i-1), height-cvRound(g_hist.at<float>(i-1) ) ),
           Point( binStep*(i), height-cvRound(g_hist.at<float>(i) ) ),
           Scalar(0,255,0)
       );
   line( histImage, 
           Point( binStep*(i-1), height-cvRound(r_hist.at<float>(i-1) ) ),
           Point( binStep*(i), height-cvRound(r_hist.at<float>(i) ) ),
           Scalar(0,0,255)
       );
}

在这里插入图片描述

4.5 图像颜色均衡

为了均衡彩色图像,只需均衡亮度通道。可用HSV或YCrCb来分离亮度分量

    Mat ycrcb;
    cvtColor( img, ycrcb, COLOR_BGR2YCrCb);		// 将BGR图像转换为YCrCb

    // Split image into channels
    vector<Mat> channels;						// 分离YCrCb图像为不同的通道矩阵
    split( ycrcb, channels );
    
    // Equalize the Y channel only
    equalizeHist( channels[0], channels[0] );	// Y通道(0)为亮度,输入 -> 输出

    // Merge the result channels
    merge( channels, ycrcb );					// 合并成YCrCb

    // Convert color ycrcb to BGR
    cvtColor( ycrcb, result, COLOR_YCrCb2BGR );	// 转换为BGR格式

在这里插入图片描述

4.6 Lomography效果

  • Google相机、Instagram
  • LUT:查找表
  • 示例:仅用于红色通道、对图像应用暗晕来实现复古效果
  • 在这里插入图片描述
    示例中,取s=0.1。s越低越暗
    const double E = std::exp(1.0);
    // Create Lookup table for color curve effect
    Mat lut(1, 256, CV_8UC1);
    for (int i=0; i<256; i++)
    {
        float x= (float)i/256.0; 
        lut.at<uchar>(i)= cvRound( 256 * (1/(1 + pow(E, -((x-0.5)/0.1)) )) );
    }
   
    // Split the image channels and apply curve transform only to red channel
    vector<Mat> bgr;
    split(img, bgr);
    LUT(bgr[2], lut, bgr[2]);
    // merge result
    merge(bgr, result);
   
    // Create image for halo dark
    Mat halo( img.rows, img.cols, CV_32FC3, Scalar(0.3,0.3,0.3) );
    // Create circle 
    circle(halo, Point(img.cols/2, img.rows/2), img.cols/3, Scalar(1,1,1), -1); 
    blur(halo, halo, Size(img.cols/3, img.cols/3));
    
    // Convert the result to float to allow multiply by 1 factor
    Mat resultf;
    result.convertTo(resultf, CV_32FC3);
    
    // Multiply our result with halo
    multiply(resultf, halo, resultf);
    
    // convert to 8 bits
    resultf.convertTo(result, CV_8UC3);
    
    // show result
    imshow("Lomograpy", result);

    // Release mat memory
    halo.release();
    resultf.release();
    lut.release();
    bgr[0].release();
    bgr[1].release();
    bgr[2].release();

在这里插入图片描述

4.7 卡通效果

  • 边缘检测和颜色过滤

    Mat imgMedian;
    medianBlur(img, imgMedian, 7);			// 模糊,以便检测强边缘

    // Detect edges with canny
    Mat imgCanny;
    Canny(imgMedian, imgCanny, 50, 150);	// 边缘检测
    
    // Dilate the edges
    Mat kernel= getStructuringElement(MORPH_RECT, Size(2,2));
    dilate(imgCanny, imgCanny, kernel);		// 扩张一下,以连接断开的边缘

    // Scale edges values to 1 and invert values
    imgCanny= imgCanny/255;					// 准备相乘,归一化后反转
    imgCanny= 1-imgCanny;
    
    // Use float values to allow multiply between 0 and 1
    Mat imgCannyf;
    imgCanny.convertTo(imgCannyf, CV_32FC3);	// 将其转化为浮点矩阵

    // Blur the edgest to do smooth effect
    blur(imgCannyf, imgCannyf, Size(5,5));		// 模糊边缘,以给出平滑的结果线

    /** COLOR **/
    // Apply bilateral filter to homogenizes color
    Mat imgBF;
    bilateralFilter(img, imgBF, 9, 150.0, 150.0);	// 采用双边滤波[保持边缘的同时降低图像的噪声],以获得卡通外观

    // truncate colors
    Mat result= imgBF/25;			// 更强大的卡通效果,阶梯量化
    result= result*25;

    /** MERGES COLOR + EDGES **/
    // Create a 3 channles for edges
    Mat imgCanny3c;
    Mat cannyChannels[]={ imgCannyf, imgCannyf, imgCannyf};
    merge(cannyChannels, 3, imgCanny3c);

    // Convert color result to float 
    Mat resultf;
    result.convertTo(resultf, CV_32FC3);

    // Multiply color and edges matrices
    multiply(resultf, imgCanny3c, resultf);

    // convert to 8 bits color
    resultf.convertTo(result, CV_8UC3);
  • 模糊:高斯、中值…
  • 边缘:Canny过滤器检测强边缘
    在这里插入图片描述

4.8 总结

解锁RK1126与SC132GS摄像头适配密码:技术与代码全解析 本文详细介绍了瑞芯微RK1126芯片与SC132GS摄像头的适配方法。首先分析了RK1126的四核Cortex-A7处理器、Mali-T860 GPU等硬件特性,以及SC132GS的130万像素、全局快门等技术参数。重点阐述了基于MIPI CSI接口的硬件连接原理和基于V4L2框架的软件驱动设计,并提供了完整的初始化、数据采集和图像处理代码实现。针对常见连接和图像质量问题给出了解决方案,展现了该组合在智能安防、工业检测等领域的应用潜力,为开发者提供了实用的技术参考。 阅读详情

相关推荐

《UE4游戏开发》之 《音效系统的实现》

音效系统需要负责管理什么事情: 1.1 确定声音控制的分类:如背景音乐、技能音效、界面音效、角色配音等,不同游戏对声音有不同的分类 1.2 控制每个分类的声音的开启与关闭,以及调节每个分类声音的大小 解决如何分类: 2.1 首先需要知道ue4为声音分类提供了什么:SoundClass通常需要一个根分类【SC_RPG_Master】,便于总体控制音效,以及指定引擎默认启动的音效 打开SoundClass资产【SC_RPG_Master】,对根控制的设置,将逐级传递并按比例进行设置,以此达到控制一类声音的目的.

qq_21919621的博客 2126

最全的C#图片处理类ImageHelper.cs

【图片处理】最全的C#图片处理类ImageHelper.cs <a target=_blank href="http://bbs.cskin.net/forum.php?mod=viewthread&tid=113&fromuid=2446">http://bbs.cskin.net/forum.php?mod=viewthread&tid=113&a...

weixin_30950607的博客 738

Balser相机的硬件触发实战:从连线到信号处理

本文详细介绍了Balser相机硬件触发的实战应用,从硬件接线、信号定义到软件配置(Pylon Viewer及API)提供了完整指南。重点阐述了如何利用外部物理电信号实现微秒级精准触发,解决工业场景下的同步与延迟问题,并分享了信号调理、抗干扰等高级实战经验。

y9z0a1b的博客 336

BS版图形系统 - 属性浏览器

BS版图形系统 - 属性浏览器 ** QQ: 282397369 ** 原理示教项目基本没跑,6月初确定动手。 两条线同时进展:管理系统和图形系统。 管理系统有正常前后端即可,图形系统还是主要的业务展示场合,一般的管理系统并不涵盖这些功能,所以干脆从头开发。 经过半个月的摸索尝试,最终选定TypeScript 作为图形工具,首先就要解决属性修改需求,即PropertyGrid。网上也有现成的PropertyGrid,但用起来代价太大,那就自己来做一个,也算是BS系统入个门。在以前用uniGUI的基础上,半个

drgraph的博客 447

CAT24C16 EEPROM的I²C页写与页读底层实现

I²C是一种广泛应用于嵌入式系统的双线同步串行通信协议,其核心在于严格的时序控制、地址寻址机制与主从应答逻辑。理解I²C总线物理层(上拉电阻、SCL/SDA电气特性)、协议层(START/STOP、ACK/NACK、7位地址格式)及外设寄存器操作(如SR1状态标志、CCR时钟分频),是实现可靠通信的基础。在实际工程中,EEPROM类器件(如CAT24C16)因其非易失性、页缓冲区结构和写保护(WP)功能,成为数据持久化关键载体;其16字节页写约束、内部写周期(5–10ms)与地址指针自动递增等特性,直接决定

weixin_42591413的博客 388

RK3588上跑通Zipformer语音识别的3个坑与填坑实录(附完整编译命令)

本文详细记录了在RK3588开发板上部署Zipformer语音识别模型时遇到的三个典型问题及其解决方案,包括静态库版本冲突、编译脚本配置错误以及模型转换精度调优。文章提供了完整的编译命令和实战步骤,帮助开发者快速在边缘设备上实现高效的语音识别应用。

l6m7n8的博客 714

BS版图形系统 - 矩形

BS版图形系统 - 矩形 QQ: 282397369 Html5的Canvas,最基本的功能可以支持画矩形,其实也就那几个参数来回设置。 export class TRectangle extends TTwoPointMeta { cornerRadius: number = 0; // 圆角半径 Initial() { this.setClassType(CbwClassType.Rectangle); super.Initial(); }

drgraph的博客 389

国税局发票查验中英文验证码识别最新版,识别率99.9%

采用深度学习进行发票查验验证码模型的训练,在我电脑上模型训练的环境如下: 显卡:RTX 2080TI tensorflow-gpu:2.5.3 1 训练集和测试集的准备 发票查验的验证码分为4种类型,分别为黑色、红色、黄色、蓝色,经过我的测试,采用4个模型的效果最好,每个模型对应识别一种类型的验证码。 首先我们4种类型的验证码都准备10万张。 00黑色类型的验证码: 01红色类型的验证码: 02黄色类型的验证码: 03蓝色类型的验证码: 验证码图像图像准备好后,对其进行标记,也就是对验证码重命名:

Keras深度学习 83万+

CS架构和BS架构的发展趋势即在图像处理软件中的应用

CS架构: 采用客户端-服务器架构的软件在处理图像方面有天然的优势,世界有名的图像软件大部分是单纯的桌面版或CS架构,例如商业的图像处理软件Photoshop,开源的图像处理软件Gimp、美图秀秀等,遥感图像处理方面有大名鼎鼎的envi, erdas等。由于CS客户端对计算机具备更多的控制,能实现更复杂的逻辑,而且有大量第三方代码可用,特别适合图像类软件的开发。缺点是:在软件发布方面比较麻烦。但对于中小型系统而言,它的高效性和灵活性足以抵消这个缺点。 BS架构: BS架构在最近10多年快速普及,在大部分领

小阳明的专栏 2327

家人们,谁懂啊,dify又报错了:[models] Bad Request Error, 500 Server Error:Internal Server Error for url: http://

本来今天下班,坐在地铁上,一身劳累。一起上班的小兄弟儿,突然甩来一张截图:老大!dify又报错了。没办法,一到家就打开电脑,开始排查。

xiezhipu的博客 882

CPD (Coherent Point Drift) 算法实现点云配准 C++版

作为和icp并列的点集配准算法cpd为什么没有icp火,等我把整个方案跑完才明白。 首先下载cpd https://github.com/gadomski/cpd 包含的fgt https://github.com/gadomski/fgt 下载到win10的解压后 运行cmake来进行编译 这个时候会提醒缺少eigen3 fgt python 这几个都安装排除后 在build文件夹下会生成vs2017的源码,右键全部生成后在 .\cpd-master\build\Debug 下会生成一个cpd.li

uranus1992的博客 3510

BS版图形系统 - OpenCV - 第1章笔记

BS版图形系统 - OpenCV - 第1章笔记1 OpenCV入门1.1 了解人类视觉系统1.2 人类如何理解图像内容1.3 能用OpenCV做什么1.3.1 内置数据结构和输入/输出1.3.2 图像处理操作1.3.3 GUI1.3.4 视频分析1.3.5 3D重建1.3.6 特征提取1.3.7 对象检测1.3.8 机器学习1.3.9 计算摄影1.3.10 形状分析1.3.11 光流算法1.3.12 人脸和对象识别1.3.13 表面匹配1.3.14 文本检测和识别1.3.15 深度学习1.4 安装Open

drgraph的博客 390

车载软件架构 -- SOA服务分层设计原则

摘要: 本文系统阐述了车载SOA(面向服务架构)的核心价值与分层设计原则。传统汽车软件架构因功能耦合度高、升级困难等问题难以适应智能汽车发展需求,而SOA通过服务化设计实现模块化解耦,支持跨域协同与生态开放,显著提升开发效率和可维护性。文章详细解析了服务分层策略(原子服务、基础服务、应用服务)及其设计原则:原子服务作为最小功能单元实现硬件抽象;基础服务整合原子服务提供通用能力;应用服务面向具体业务场景。分层架构有效降低了系统复杂度,使各层可独立演进,为智能汽车软件生态建设提供了方法论支撑。

Soly_kun的博客 727

BS版图形系统 - OpenCV - 第6章笔记

BS版图形系统 - OpenCV - 第6章笔记6. 学习对象分类6.1 技术要求6.2 机器学习概念介绍OpenCV机器学习算法 QQ: 282397369 6. 学习对象分类 对每个分离的对象进行分类 训练系统,以便能够学习必需的参数,从而决定将哪个特定标签分配给检测到的对象 机器学习的基本概念,以便对具有不同标签的图像进行分类 6.1 技术要求 6.2 机器学习概念介绍 机器学习:计算机无须明确编程就能够开展学习的能力 机器学习涉及到人工智能中的模式识别和学习理论,并且与计算统计学有关 应用:OCR、

drgraph的博客 404

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

BS版图形系统 - OpenCV - 第5章笔记

BS版图形系统 - OpenCV - 第5章笔记5 自动光学检查、对象分割和检测5.1 技术要求5.2 隔离场景中的对象5.3 为AOI创建应用程序5.4 预处理输入图像5.4.1 噪声消除5.4.2 用光模式移除背景进行分割5.4.3 阈值5.5 分割输入图像5.5.1 连通组件算法5.5.2 findContours算法5.6 总结 ** QQ: 282397369 ** 5 自动光学检查、对象分割和检测 AOI:自动光学检查 5.1 技术要求 5.2 隔离场景中的对象 预处理: 噪声消除 光消

drgraph的博客 261

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

BS版图形系统 - OpenCV - 第2章笔记

BS版图形系统 - OpenCV - 第2章笔记2 OpenCV基础知识导论2.1 技术要求2.2 基本CMake配置文件2.3 创建一个库2.4 管理依赖项2.5 让脚本更复杂2.6 图像和矩阵2.7 读/写图像2.8 读取视频和摄像头2.9 其他基本对象类型VecScalarPointSizeRectRotatedRect2.10 基本矩阵运算2.11 基本数据存储2.12 总结 QQ 282397369 2 OpenCV基础知识导论 2.1 技术要求 2.2 基本CMake配置文件 2.3 创建一个库

drgraph的博客 191

BS版图形系统 - OpenCV - 第3章笔记

BS版图形系统 - OpenCV - 第3章笔记3 学习图形用户界面3.1 技术要求3.2 OpenCV用户界面介绍3.3 OpenCV的基本图形用户界面3.4 QT图形用户界面3.5 OpenGL支持3.6 总结 QQ 282397369 3 学习图形用户界面 显示图像结果,处理用户与图像的交互。 3.1 技术要求 3.2 OpenCV用户界面介绍 基于原生用户界面的基本界面: GTK 基于QT库的略微更高级的界面 3.3 OpenCV的基本图形用户界面 highgui模块 #include &

drgraph的博客 170

DrGraph原理示教 - OpenCV 4 功能 - 阈值

参数4:阈值的方式,主要有5种,分别为cv.THRESH_BINARY、cv.THRESH_BINARY_INV、cv.THRESH_TRUNC、cv.THRESH_TOZERO、cv.THRESH_TOZERO_INV。有时间看下源码就可以不用猜测了。二进制阈值化:选择一个特定的阈值量,大于该阈值的像素点的灰度值设定为最大值(如8位灰度值最大为255),小于该阈值的像素点的灰度值设定为0。反阈值化为0:与阈值化为0类似,只是像素点的灰度值大于该阈值的不进行任何改变,而小于该阈值的,其灰度值全部变为0。

drgraph的博客 1447

DrGraph原理示教 - OpenCV 4 功能 - 颜色空间

前段时间,甲方提出明确需求,让把软件国产化。稍微研究了一下,那就转QT开发,顺便把以前的功能代码重写一遍。至于在Ubuntu下折腾QT、OpenCV安装事宜,网上文章很多,照猫画虎即可。QT 6支持C++ 17,里面很多C++的新功能,用起来更为舒爽。QT Creator中,代码提示更快捷,代码折叠也很准确QT Creator中,文档生成更方便,配合Doxygen之后,自己都感觉更专业了当然,更让我高兴的是,QT直接支持最新版的OpenCV,以前还一直停留在2.3版。

drgraph的博客 1442

DrGraph原理示教 - OpenCV 4 功能 - 直方图

OpenCV直方图是一种可以对整幅图的灰度分布进行整体了解的图示。它是带有像素值(从0到255,不总是)的图在X轴上,在y轴上的图像对应的像素个数。通过观察图像的直方图,我们可以直观的了解图像的对比度、亮度、亮度分布等。在直方图中,横坐标表示图像中各个像素点的灰度级,纵坐标表示具有该灰度级的像素个数。直方图的左边部分显示了图像中较暗像素的数量,右边区域显示了更明亮的像素。直方图是非常常用的图像处理方法,有时在很多图像预处理中能起到特别好的效果。

drgraph的博客 1361

BS版图形系统 - 界面控件配置

BS版图形系统 - 界面控件配置界面控件考虑资源配置化XML资源配置加载下一步任务 QQ: 282397369 界面控件考虑 有了属性浏览器,下来就该处理工具栏了。 一个直观感觉,网页留给程序的空间,要比应用程序少。网页在浏览器这个程序中运行,不同的浏览器,提供相应的界面,占据标题、工具栏位置,甚至书签与侧栏。所以做网页程序的时候,尽量能将工作区整大一些。 当然,如何整应该是UI设计的事,技术层面还是关心如何实现的问题。 在属性浏览器的基础上,初步实现了一个VCL的JS框架。但新建控件,还是要写一堆代码来控

drgraph的博客 1270

BS版图形系统 - 画线

BS版图形系统 - 画线 一晃两个月过去了,儿子也考了个喜欢的大学,重新,又稳定了下来。 我也重操旧业,编点小程序。时不时发个小博客,自娱自乐一下。 今天处理图元 - 线。 话不多说,直接上代码。 export class TLine extends TTwoPointMeta { beginArrow: TArrow = new TArrow; endArrow: TArrow = new TArrow; Initial() { this.setClassType(

drgraph的博客 774

DrGraph原理示教 - OpenCV 4 功能 - 二值化

二值化,也就是处理结果为0或1,当然是针对图像的各像素而言的1或0,对应于有无,也就是留下有用的,删除无用的,有用的部分,就是关心的部分在图像处理中,也不仅仅只是1或0,因为这两个值看起来都是黑的,人眼很难分辨清楚,那就放大一些,255或0,黑白就出来了目标识别、图像分割、目标提取等后续应用,很多会基于二值化的结果。所以图像分析的二值化处理是一个重要环节。

drgraph的博客 734

DrGraph - SVG模块之一:显示与节点选择

DrGraph - SVG模块之一:显示与节点选择显示SVG编辑生成目标子集SVG 对于虚拟面板中的元件,以前采用FLASH技术实现相应显示与交互,通过ActionScript进行通信。现在看来,FLASH好象势微,使用起来有点麻烦,需要一些设置。其次,做FLASH的人也少了,后续也不太方便。 那就用SVG来进行改造。 显示SVG 将SVG解析置于DLL中,应用程序直接调用DLL完成解析并生成PNG,然后再画出显示。 UnicodeString filename = FResponseNode->At

drgraph的博客 680

DrGraph原理示教 - OpenCV 4 功能 - 单通道图

在OpenCV中,Mat类的channels实际上和每个元素上存储的数据有关,例如存储的是Point3f,channel就自动为3。具体来说,图像是由一个个像素点堆积而成的,而一个像素点,又是由RGB颜色混合而成的。从数学的角度来看,结果都是 f(R, G, B, A),单通道是R/G/B/A中的一个,灰度是其余逻辑,如0.299×R+0.587G+0.114B。当然,对编程来说,光知道通道数是多少,并没有什么大用,应该要取得某个通道的图像才是目的,这也是各图像的内在本质。这里的通道就是channels。

drgraph的博客 650

脚本为王 - 辅助功能

脚本为王 - 辅助功能目标通用辅助功能QQ自动反馈图像输入操作模式 QQ: 282397369 目标 之前做了个苹果全自动试玩脚本,发觉脚本+图像分析确实很有用,尤其是针对最终应用,比如手机业务、产品质量检测,其灵活性与实用性大大增加。 本月,送儿子去深圳上大学,发现深圳众多中小公司工厂,对脚本+图像分析的需求旺盛。 所以,干脆做一个通用的脚本模块软件,可用于诸多需求场合。 把多年不用的群208894875清空,改群名为脚本为王,笨狗先扎个狼狗势。 通用辅助功能 QQ自动反馈 该功能主要是在软件运行过程中,

drgraph的博客 649

DrGraph原理示教 - OpenCV 4 功能 - 形态操作

OpenCV作为一个基础的或通用的图像处理,那肯定是需要支持不同的需求,象刚说的这些主体差异,功能也是存在了,只不过采用了相应的所谓专业术语来进行称呼,如梯度、礼帽与黑帽。这些结果可以为主体,但很多地方还想看看边界或轮廓,那就需要在这些主体之间进行差值,或是减法操作,这样,结果就是边缘,就象两个大小不同的同心圆,差值后就得到圆环。从OpenCV图像处理基本知识来看,膨胀腐蚀操作后,还有形态操作,如开运算、闭运算、梯度、礼帽与黑帽,感觉很多,其实,本质上就是批处理操作,如。如,梯度 = 膨胀 - 腐蚀。

drgraph的博客 636
上一篇: BS版图形系统 - OpenCV - 第3章笔记
下一篇: BS版图形系统 - 整合C++到JS中
DrGraph
博客等级 码龄14年 228粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值