c++ opencv实现区域填充_利用opencv之为图像添加边框
我们经常会有对图像边缘做扩展的需求.比如
- 希望卷积后得到的矩阵大小不变
- 希望改变图像大小,但是不改变宽高比
opencv实现
opencv中使用copyMakeBorder()来完成这一功能
api
![](/assets/blank.gif)
- src是原图像矩阵
- dst是新图像矩阵
- top/bottom/left/right是边界扩展的大小(比如5就代表5个像素)
- borderType
- value是扩充的像素填什么值
borderType分两种:
- BORDER_CONSTANT
- 边缘填充用固定像素值,比如填充黑边,就用0,白边255
- BORDER_REPLICATE
- 用原始图像相应的边缘的像素去做填充,看起来有一种把图像边缘"拉糊了"的效果
opencv示例
import sysimport cv2 as cvdef test(): src = cv.imread("/home/sc/disk/keepgoing/opencv_test/lights.jpeg") top = int(0.05 * src.shape[0]) # shape[0] = rows bottom = top left = int(0.04 * src.shape[1]) # shape[1] = cols right = left value = [0,0,0] borderType = cv.BORDER_CONSTANT dst1 = cv.copyMakeBorder(src, top, bottom, left, right, borderType, None, value) borderType = cv.BORDER_REPLICATE dst2 = cv.copyMakeBorder(src, top, bottom, left, right, borderType, None, value) cv.imshow("blackborder
c++ opencv实现区域填充_利用opencv之为图像添加边框相关推荐
- java opencv 阀值分割_利用OpenCV实现局部动态阈值分割
利用OpenCV实现局部动态阈值分割,参考Halcon dyn_threshold算子的思路实现. #include "dialog.h" #include #include &q ...
- opencv 识别长方形_利用opencv识别并提取图片中的矩形
这次是利用opencv来识别图片中的矩形. 其中遇到的问题主要是识别轮廓时矩形内部的形状导致轮廓不闭合. 过程如下: **1. 对输入灰度图片进行高斯滤波 2. 做灰度直方图,提取阈值,做二值化处理 ...
- c++ opencv实现区域填充_使用OpenCV实现图像覆盖
每张图像都包括RGB三个通道,分别代表红色.绿色和蓝色,使用它们来定义图像中任意一点的像素值,红绿蓝的值在0-255之间. 例如:一个像素值[255,0,0]代表全部为红色,像素值[255,255,0 ...
- opencv 识别长方形_利用OpenCV检测图像中的长方形画布或纸张并提取图像内容
问题如下: 也就是在一张照片里,已知有个长方形的物体,但是经过了透视投影,已经不再是规则的长方形,那么如何提取这个图形里的内容呢?这是个很常见的场景,比如在博物馆里看到一幅很喜欢的画,用手机找了下来, ...
- python如何实现找图_利用OpenCV和Python实现查找图片差异
使用OpenCV和Python查找图片差异 flyfish 方法1 均方误差的算法(Mean Squared Error , MSE) 下面的一些表达与<TensorFlow - 协方差矩阵&g ...
- python sobel算子_利用sobel算子计算图像的梯度(python+opencv)
sobel算子计算的梯度图是带有方向的 代码实现如下: #coding=utf-8 import cv2 import numpy as np #利用sobel算子计算图像的梯度 img=cv2.im ...
- opencv 检测几何图形_使用OpenCV + ConvNets检测几何形状
opencv 检测几何图形 A simple yet powerful pipeline for detecting shapes in scanned documents 一个简单而强大的管道,用于 ...
- python opencv 相机标定_使用OpenCV校准鱼眼镜头的方法
01.简介 当我们使用的鱼眼镜头视角大于160°时,OpenCV中用于校准镜头"经典"方法的效果可能就不是和理想了.即使我们仔细遵循OpenCV文档中的步骤,也可能会得到下面这个奇 ...
- opencv 图片叠加_基于OpenCV的红绿灯识别代码解析
一堆废话 红绿灯分为导向灯和圆形灯.一般圆形灯在路口只有一盏灯,红灯亮时禁止直行和左转,可以右转弯.导向灯市带有箭头的,可以有两个或三个,分别指示不同方向的行车和停车.按指示的灯即可,没有右转向导向灯 ...
最新文章
- 论文《一种金融市场预测的深度学习模型:FEPA》(2)----有效市场假说,预测原则概念及自己的思考
- stm32难不难学,没学51单片机可以直接学STM32吗?
- c++读取文件内容并保存到二维数组
- Leaflet中使用awesome-markers插件显示带图标的marker
- JZOJ__Day 6:【普及模拟】Oliver的成绩(score)
- 六、springcloud之配置中心Config
- bzoj 4443 [Scoi2015]小凸玩矩阵 网络流,二分
- Django模型定义参考
- java 佳博打印机,佳博蓝牙打印的java 连接
- vaadin ---用maven创建vaadin 的工程
- 【渝粤教育】国家开放大学2018年春季 0471-22T畜牧学 参考试题
- 自己动手写操作系统(三)
- 文件生成Md5值方法
- 打印机打印的时候会打印计算机用户,打印机打印的时候出现administrator是什么意思...
- python将html转成pdf,python将html转成PDF的示例
- Mimikatz获取系统密码攻防研究
- Write-Ahead Log(WAL)的工作原理
- Leetcode_53_Maximum Subarray
- JavaScript在数组尾部添加元素
- [高通MSM8953][Android10]user版本背光亮度无法调节
热门文章
- 机器学习项目实战----信用卡欺诈检测(二)
- SICP 习题 (1.34)解题总结
- 【ML】理解偏差和方差,过拟合和欠拟合
- 面向对象的四大特征 封装 继承 多态 抽象
- CF-697B	Barnicle与691C	Exponential notation
- 转:XMPP协议、MQTT协议、HTTP协议、CoAP协议的基本比较
- js 获取指定范围的随机数
- 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
- Nginx常用使用解读及配置
- xftp无法链接Linux