Opencv--边缘填充

这篇博客介绍了如何使用OpenCV的cv::copyMakeBorder函数为图像添加边框。内容包括理论背景,代码示例,说明了如何通过BORDER_CONSTANT(常量填充)和BORDER_REPLICATE(边缘复制)两种方式填充图像边缘,并展示了运行结果。
摘要由CSDN通过智能技术生成

OpenCV添加边框到您的图像

目标

理论

  1. 在前面,我们学会了使用卷积来对图像进行操作。自然产生的一个问题是如何处理边界。如果评估点位于图像的边缘,我们如何卷积它们?
  2. 大多数OpenCV功能是将给定的图像复制到另一个稍大的图像上,然后自动填充边界(通过下面的示例代码中解释的任何方法)。这样,可以在所需要的像素上执行卷积而没有问题(在操作完成之后,额外的填充被切割)。
  3. 在本节中,我们将简要介绍如何为图像定义额外的填充(边框):BORDER_CONSTANT:使用常量值(即黑色或0)来填充图像0BORDER_REPLICATE:原始边缘的行或列被复制到额外的边框。“守则”部分将会更清楚地看到这一点。

Code

  1. 这个程序是做什么的?
    • 加载图像
    • 让用户选择在输入图像中使用什么样的填充。有两个选择:
      1. 常数值边框:对整个边框应用一个常量值的填充。该值将随机每0.5秒更新一次。
      2. 复制边框:边框将从原始图像边缘的像素值复制。
    • 当用户按“ESC”时程序完成
  2. 代码如下所示
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;

Mat src, dst;
int top, bottom, left, right;
int borderType;
const char* window_name = "copyMakeBorder Demo";
RNG rng(12345);
int main(int argc, char** argv)
{
	String imageName("C:/usr/opencv-test/Testpictures/sight3.jpg")
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCV-Python提供了多种模型分割的算法,包括基于图像颜色空间的分割、基于形态学操作的分割、基于阈值的分割、基于边缘检测的分割以及基于机器学习的分割。下面我将简单介绍其中几种常用的模型分割算法。 1. 基于阈值的分割:这是最简单的图像分割算法,其基本思想是将图像根据像素灰度值的大小关系进行分割。OpenCV-Python提供了多种阈值分割的方法,包括全局阈值、自适应阈值、Otsu阈值等。 2. 基于形态学操作的分割:形态学操作是一种基于图像形状和结构的处理方法。OpenCV-Python提供了多种形态学操作,包括膨胀、腐蚀、开操作、闭操作等,这些操作可以用于去除噪声、填充空洞、分离物体等。 3. 基于边缘检测的分割:边缘是图像中物体和背景之间的分界线,因此边缘检测可以用于分割图像。OpenCV-Python提供了多种边缘检测算法,包括Sobel、Canny、Laplacian等。 4. 基于机器学习的分割:这种方法需要事先训练一个分类器,然后用分类器对图像进行分割。OpenCV-Python提供了多种机器学习算法,包括支持向量机、随机森林、神经网络等。这些算法可以用于图像分类、目标检测、物体识别等应用。 以上是常用的几种模型分割算法,你可以根据具体的应用场景选择合适的算法。同时,OpenCV-Python还提供了多种图像处理函数和工具,可以帮助你快速实现图像分割功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值