如何在打开的 cv c++ 中翻转带有角度矩形或任何其他角度形状的图像的特定部分
How to flip particluar part of images with angled rectangle or any other angle shapes in open cv c++
我需要在opencv中翻转图像的特定部分。我搜索了足够多,但我只有cv::flip()
方法来翻转整个图像,我如何通过倾斜矩形或任何其他角度形状从图像中翻转图像的某些部分。
cv::Mat src=imread("memory.png");
cv::Mat dst;
cv::flip(src, dst, 1);
上面的代码用于翻转整个图像。 但是我需要按角度翻转图像的某些部分。
假设你的意思是一个轴对齐的矩形区域,你需要定义一个ROI - 感兴趣区域。
您可以使用列和行上的 cv::Range
s 或 cv::Rect
ctor/运算符执行此操作。
例如:
cv::Mat src=imread("memory.png");
auto roi = cv::Rect(10,10,50,50);// ROI origin is at (10,10) with size 50x50
cv::flip(src(roi), src(roi), 1); // Apply flip operation only inside ROI
您可以在 opencv 中使用区域或 ROI。映像中的所有操作都可以应用于区域。
此代码块可能会有所帮助。
dst = src;
cv::Mat subImg = dst(cv::Range(0, 100), cv::Range(0, 100));
cv::flip(subImg , subImg , 1);
注意:我没有测试上面的代码。
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 在基于范围的for循环中使用结构化绑定声明
- 使用 LuaBridge 将 LuaJIT 绑定到C++会导致"PANIC: unprotected error"
- 如何在不产生任何垃圾的情况下获得C中的像素
- 为什么我不能在 C++ 中的特定函数重载中调用同一函数的任何其他重载?
- 尝试通过OCI例程从Oracle获取blob数据,但出现错误:ORA-01008:并非所有变量都绑定
- C++映射有2个键,这样任何1个键都可以用来获取值
- 在使用GPU支持编译Tensorflow时,会遇到CUDA_TOOLKIT_PATH未绑定变量
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 视觉studo 2019中的漫画和静态/动态绑定
- OpenGL - 重新绑定 glBindVertexArray 不会在屏幕上绘制任何内容
- 删除绑定到成员函数的 vector<std::function<...>> 的任何元素
- 本机C++11事件-没有任何绑定的事件引发错误
- 任何ip和本地ip绑定
- 在c++ 11中,是否有一种方法可以在调用以任何可调用对象(包括绑定方法)作为参数的函数时不需要模板参数
- 临时绑定到常量引用的特定形式没有任何效果
- 绑定元函数:接受类型和模板模板参数(接受任何参数)
- OpenCV filter2D:是否有任何使用内核不锚定在中心