c++视觉图像----扩充边界

图像扩充边界

cpp 复制代码
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>

int main() {
	// 读取图像
	cv::Mat image = cv::imread("1.jpg", cv::IMREAD_COLOR);

	if (image.empty()) {
		std::cerr << "Could not open or find the image!" << std::endl;
		return -1;
	}

	// 指定要添加的边界像素数
	int top_border = 20;
	int bottom_border = 20;
	int left_border = 30;
	int right_border = 30;

	// 定义边界颜色
	cv::Scalar border_color(0, 0, 255); // 在BGR颜色空间中,红色边界

	// 使用copyMakeBorder函数扩充边界
	cv::Mat bordered_image;
	cv::copyMakeBorder(image, bordered_image, top_border, bottom_border, left_border, right_border, cv::BORDER_CONSTANT, border_color);

	// 显示原始图像和扩充后的图像
	cv::namedWindow("Original Image", cv::WINDOW_NORMAL);
	cv::namedWindow("Bordered Image", cv::WINDOW_NORMAL);

	cv::imshow("Original Image", image);
	cv::imshow("Bordered Image", bordered_image);

	cv::waitKey(0);

	return 0;
}
相关推荐
软行7 小时前
LeetCode 每日一题 3876. 构造奇偶一致的数组 II
c++·算法·leetcode
繁星蓝雨7 小时前
C++设计原理———重载(extern “C“的由来、顺序依赖、语义依赖、overload、名称修饰符、对象操作、运算符重载、新增运算符、枚举和布尔类型)
c语言·c++·extern c·overload·重载·语义依赖·顺序依赖
handler017 小时前
【Linux】虚拟地址空间解析
linux·运维·c++·线程·进程·虚拟地址空间·虚拟地址
(Charon)7 小时前
【C++】网络缓冲区设计(二):Ring Buffer环形缓冲区、head/tail与跨界读写
开发语言·c++
码匠许师傅8 小时前
【设计模式精讲】24.观察者模式(Observer)
c++·观察者模式·设计模式·uml
爱吃火鸡面呀8 小时前
OpenCV 人脸检测与识别实战:从静态图像到视频流
人工智能·opencv·计算机视觉
EDPJ8 小时前
(2026|IPI|我的论文投稿中,PSP 超轻量采样算法,轻量化架构探索/早融合+头压缩)LUMIN:面向工业异常检测的轻量级通用制造检测网络
算法·计算机视觉·架构·异常检测·采样算法
imgsq8 小时前
S-57 数据解剖:把一个 ENC 文件拆给你看
c++·数据可视化
迷茫、Peanut8 小时前
中断的时钟
c++
hhzz8 小时前
【OpenCV 入门到精通 02】环境安装与第一个程序:5 分钟跑通 Hello OpenCV
人工智能·opencv·yolo·计算机视觉·开源