Opencv 图像区域裁剪 缩放

OpenCV入门4:ROI区域操作 上述示例代码展示了如何设置ROI区域、复制和粘贴ROI、进行ROI区域的操作和计算。通过cv::Rect类型的矩形来定义ROI区域的位置和大小,然后使用cv::Mat的成员函数cv::Mat::operator()(const cv::Rect&)来设置ROI。所有的图像操作和计算都可以在ROI区域内进行,例如通过cv::Mat的成员函数cv::Mat::setTo()将ROI区域像素设置为指定的值。可以使用cv::Mat的成员函数cv::Mat::copyTo()来实现ROI区域的复制和粘贴。 阅读详情

前言:

近端时间项目需要进行区域图像裁剪人脸,因此特地学习opencv图像裁剪相关API,故在此记录:

#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/ml/ml.hpp>
#include <iostream>
#include <windows.h>  
#include <stdio.h>
using namespace cv;
using namespace std;

int main()
{
	namedWindow("src",1);
	namedWindow("dst", 1);
	namedWindow("sfMat", 1);
	namedWindow("dstImage", 1);

	//原图
	Mat src = imread("325.jpg", IMREAD_COLOR);
	imshow("src", src);

	//图像裁剪
	int nX = 200;
	int nY = 330;
	int nW = 100;
	int nH = 100;
	cv::Rect rect(nX, nY, nW, nH);
	Mat dst = src(rect);
	imshow("dst", dst);

	//图像缩放
	Mat sfMat;
	cv::resize(src, sfMat, cv::Size((src.cols*0.5), (src.rows*0.5)), 0, 0, cv::INTER_NEAREST);
	imshow("sfMat", sfMat);

	//图像特定区域裁剪
	Mat dstImage = Mat::zeros(src.rows+100, src.cols+100, CV_8UC3);   //创建一个的图像
	cv::Rect roi_rect0 = cv::Rect(0, 0, src.cols, src.rows);
	src.copyTo(dstImage(roi_rect0));
	imshow("dstImage", dstImage);

	waitKey(0);
	return 0;
}

 

【原创】opencv 实现特定形状视频跟踪,图像裁剪 opencv 实现特定形状视频跟踪,图像裁剪先看效果: 如上图所示,程序通过摄像头采集图像,然后使用cvCanny算子实现边缘检测,最后使用cvFindContours查找轮廓,进而根据预设参数寻找对应图像区域.并完成图像裁剪与选装.程序如下:/* 2015-07-24 linczone@163.com 编译命令如下: g++ `pkg-config opencv --cf 阅读详情

相关推荐

python利用图像处理方法 实现多目标检测与裁剪(opencv)

利用图像处理方法批量对多目标图像进行检测和裁剪

no_pain_no_gain_的博客 1万+

OpenCV中RotatedRect参数详解

OpenCV中RotatedRect参数详解 RotatedRect表示平面上的旋转矩形 class CV_EXPORTS RotatedRect { public: //构造函数 RotatedRect(); RotatedRect(const Point2f& center, const Size2f& size, float angle); RotatedRect(const CvBox2D& box); void points(Poin

Dorwin666的博客 1万+

Computer Vision Fundamentals with OpenCV

作者:禅与计算机程序设计艺术 1.简介 图像识别及机器视觉(Computer Vision and Machine Learning)是当前最热门的研究方向之一。从图像处理到目标检测,再到三维重建,各种AI技术都在往这个方向发展。而基于OpenCV实现的计算机视觉库,则成为开发者进行计算机视觉应用的必备

AI天才研究院 984

OpenCV-C++选择、提取感兴趣区域(ROI区域)【附用鼠标选取ROI区域的代码】

OpenCV-C++选择、提取感兴趣区域(ROI区域)【附用鼠标选取ROI区域的代码】

昊虹AI笔记 7516

使用OpenCV计算图像区域面积的实践指南

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,由英特尔于1999年首次启动。作为业内最为广泛使用的计算机视觉库之一,OpenCV提供了大量用于图像处理、视频分析以及计算机视觉任务的函数和类库。OpenCV库不仅支持C/C++,还支持Python、Java等多种编程语言,并且拥有活跃的社区支持和丰富的文档资源。本章将对OpenCV库进行简要介绍,覆盖其核心功能、安装方法以及一些基础应用案例。

weixin_34374684的博客 1038

Python图像裁剪技术:从基础到进阶

图像裁剪是图像处理中一种常用的技术,主要用来去除图像中不相关的部分,或者改变图像的比例和方向,以达到突出主题、增强视觉效果等目的。裁剪操作对于改善图像质量和精确图像分析是至关重要的。Python Imaging Library(PIL),后更名Pillow,是一个功能强大的图像处理库,它支持各种常见的图像格式,并提供了丰富的图像处理功能。PIL库最初由Fredrik Lundh于1990年代创建,其主要目的是为了简化Python中的图像处理操作。

weixin_34640289的博客 1205

opencv使用笔记——Rect使用记录

文章转载自https://blog.youkuaiyun.com/kh1445291129/article/details/51149849 //如果创建一个Rect对象rect(100, 50, 50, 100),那么rect会有以下几个功能: rect.area(); //返回rect的面积 5000 rect.size(); //返回rect的尺寸 [50 × 100] rect.tl(); //返回rect的左上顶点的坐标 [100, 50] rect.br(); /

hehehetanchaow的博客 462

【干货攻略】Oracle报错篇 ORA-01378 磁盘扇区大小不兼容问题

本期将为大家分享“ORA-01378 磁盘扇区大小不兼容”报错的问题解决方案。

PWY13148的专栏 1437

OpenCV(十四):ROI区域截取

在OpenCV中,你可以使用Rect对象或cv::Range来截取图像的感兴趣区域(Region of Interest,ROI)。无论你选择使用Rect对象还是cv::Range来截取图像,都能实现相同的效果。根据具体需求,你可以选择适合的方法进行图像截取。

weixin_63357306的博客 4506

动作识别(三)Win10复现OpenPose1.7.0+ST-GCN代码

动作识别(三)Win10复现OpenPose1.7.0+ST-GCN代码1.Win10系统配置OpenPose1.7.0的Python API 本人最近在研究基于骨架的动作识别方法,有幸看到端到端的ST-GCN算法,于是决定自己复现一下。(具体原理这里不介绍,大家自行查阅,比如Openpose是个啥?ST-GCN又是个啥?) 1.Win10系统配置OpenPose1.7.0的Python API 安装步骤: (1) ...

QIANFANGshiwo的博客 3040

基于STM32的无人机智能避障与路径规划系统设计

本文详细介绍了基于STM32的无人机智能避障与路径规划系统设计,涵盖硬件选型、传感器组合、软件架构及算法实现。通过多传感器数据融合和改进的VFH+算法,系统在复杂环境中实现92%以上的避障成功率。STM32微控制器的实时性和低功耗特性为无人机自主导航提供了可靠保障,适用于工业巡检、仓储物流等场景。

blockchain9miner的博客 877

java版利用opencv根据RotateRect裁剪图像区域算法

public Mat guiyihuaMatByRoi(Mat cpsrcMat,RotatedRect rotatedRect){ /*Point[] rectPoints=new Point[4]; rotatedRect.points(rectPoints);//存储矩形4点坐标 for(int i=0;i<rectPoints.length;

pretender05的专栏 6768

图解说明JLink驱动与目标板电源匹配的关键细节

深入讲解JLink驱动安装及使用过程中,如何正确匹配目标板电源,避免常见通信故障。通过图解方式清晰展示关键连接细节,确保调试稳定可靠,是嵌入式开发中不可或缺的实战经验分享。

weixin_42173218的博客 431

opencv-crop-resize

main.cpp: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <linux/fb.h> #include <sys/mman.h> #include <sys/ioctl.h> #include <getopt.h> #include <drm/drm_fourcc.h&..

wmzjzwlzs的专栏 685

USB-C快充协议分析仪:QC/PD双协议识别与功率监测设计

USB-C快充协议是现代移动设备能量传输的核心技术标准,其本质是通过物理层电压特征(如DP/DM组合、CC线BMC编码)实现动态电压协商。理解协议握手原理对充电器研发、兼容性测试及故障诊断至关重要。本方案聚焦受电端(Sink)视角,基于FUSB302B与高阻抗DP/DM采样电路,实现QC2.0/QC3.0/QC4+与PD2.0/PD3.0的实时识别与状态机解析;结合INA219高精度电流检测与μs级同步采样,达成±0.06%功率测量精度。典型应用于快充芯片验证、产线协议一致性测试及第三方评测,为USB供电系

weixin_42153793的博客 245

从4A架构的角度出来 帮我分析一下:数字化转型深水区:企业架构如何成为价值重构的核心引擎?

4A 架构的本质是构建企业的数字神经系统,通过业务感知、数据传输、决策执行、技术支撑的闭环,实现从效率提升到生态重构的质变。正如华为通过该架构实现全球研发资源统一调度,某零售集团借此打造线上线下融合的新零售体系,当业务、数据、应用、技术四个维度形成共振时,企业将获得持续进化的数字免疫力,在不确定的市场环境中保持韧性生长。这一过程不仅需要技术工具的升级,更依赖组织文化的变革 —— 从 “部门墙” 到 “能力网” 的转型,才是数字化转型深水区的终极挑战。

金牌架构师 1046

表参数

80: CvRect roi = cvRect(880, 640, 950, 1265);       resize(img,imageresize,Size(200,240),0,0,CV_INTER_LINEAR);

无敌三脚猫的专栏 622

装上大模型翅膀,程序员入职新公司如何快速上手代码(老员工如何选择大模型编程如虎添翼)

入职新公司,尤其是行业知识不懂的,面对前人堆积的屎山代码,各种文档又缺少的,有些技术自己又不懂的,如何快速上手代码,特别是借助AI大模型事半功倍的上手项目代码。进入新公司,我做的第一件事就是收集情报。我主动向同事们索要项目的相关资料,包括项目介绍文档、功能说明文档和业务流程图等。通过仔细阅读这些资料,可以对项目的背景和架构有了初步的了解。同时要逮住机会就向同事们请教项目的迭代历程和技术选型背后的考量。有时他们三言二语,可以为自己节省很多探索时间。在了解了项目的基本情况后,可以开始深入探究项目的业务流程。

大模型大数据攻城狮的专栏 1131

在原来的基础上添加了保存检测到的活体图片并且图片的保存形式为时间戳的方式

RECT rc1;          rc1=rcFace_color; if(rc1.left if(rc1.top if(rc1.right>=nWidth-1) rc1.right=nWidth-2; if(rc1.bottom>=nHeight-1) rc1.bottom=nHeight-2; int rcWidth1=rc1.right-rc1.left;

keyanxiaocaicai的专栏 813

302.QoS实现工具之MQC

QoS 技术可以对网络中报文进行分类处理,根据优先级提供不同的差分服务,如何实现这种差分服务呢?我们有一种强大的配置方法 - 模块化 QoS 命令行 MQC(Modular QoS Command-Line)。下面就来介绍一下 MQC。

迷逝 1393

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

基于OpenCV与Python的批量人脸智能裁剪脚本实战指南

人脸检测是计算机视觉领域的一项基础且关键的技术,其核心原理是通过训练好的深度神经网络模型,在图像中定位并框选出人脸区域。这项技术的价值在于能够将繁琐、重复的视觉任务自动化,极大地提升了图像处理的效率与一致性。在实际工程中,结合图像处理库,可以构建出高效、可靠的自动化流水线,广泛应用于证件照制作、相册整理、电商产品图标准化等需要批量处理人像图片的场景。本文将以Python和OpenCV DNN模块为核心,详细解析如何构建一个健壮的批量人脸检测与裁剪脚本,涵盖从环境配置、核心流程设计、代码实现到参数调优与性能优

weixin_33672109的博客 353

pscad IEEE标准系统搭建说明

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

1-3 缩放旋转剪切图像 opencv树莓派4B 入门系列笔记

2、缩放图像 cv2.resize()3、旋转图像 cv2.rotate()1、树莓派4B 及 64位系统。2、提前安装opencv库。3、保存任意一张照片。

Sisphusssss的博客 690

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

对YOLO-obb添加裁剪功能,使之跟detect任务的crop功能一致

然后就会发现他没有按预期的裁剪,会弹出一个警告:obb任务不支持“save_crop”然后大概进到results.py里找到save_crop函数的代码会发现该功能不支持obb跟classify任务,证明官方是不提供该功能的,但我们又需要这个功能来裁剪出obb检测出来的对象进行进一步的分析处理,就想着手动写一下加切割代码使obb实现切割功能。

qq_56706664的博客 2138

OpneCV之图像的平移、翻转、旋转、缩放、裁剪(笔记04)

demo图片: 平移 代码: import numpy as np import matplotlib.pyplot as plt import cv2 #图像的平移 def show(image): plt.imshow(image) plt.axis('off') plt.show() def imread(image): image=cv2.imread(image) image=cv2.cvtColor(image,cv2.COLOR_..

有的话没说出来之前,你是他的主人,一旦说出来你就成了他的奴隶||想要干好事,别太把自己当人,别把别人太不当人||认识这个人就是开了一扇窗户,就能看到不一样的东西,听到不一样的声音,能让你思考、觉悟,这已经够了 613

OpenCV 畸变校正原理

OpenCV 畸变校正原理

m0_37302966的博客 1921

opencv-如何获取图像区域特定像素区域大小

通过鼠标框选某个区域,返回这个区域的像素大小。

qq_44157835的博客 867
上一篇: 问题:warning: libssl.so.1.0.0, needed by …lib/libcurl.so, not found (try using -rpath or -rpath-link)
下一篇: Linux ping本网段所有Ip
Chasing_Chasing
博客等级 码龄10年 233粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值