![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenCV图像处理
玛莎拉丶帝
喜欢与影子为伴!
展开
-
Windows下cuda+OpenCV操作GpuMat像素简单示例
一、环境配置1、VS+CUDA环境搭建:参考我的文章:https://zhuanlan.zhihu.com/p/1313608522、CUDA版本的OpenCV:参考我的文章:https://zhuanlan.zhihu.com/p/131353743二、简单示例1、新建控制台项目2、在源文件中加载头文件如下:#include "stdafx.h"#include "cuda_runtime.h"#include "device_launch_parameters.h"#in原创 2020-09-17 17:56:13 · 683 阅读 · 0 评论 -
Windows+VS2013初始化CUDA以及获取N卡信息
一、环境配置1、VS+CUDA环境搭建:参考我的文章:https://zhuanlan.zhihu.com/p/1313608522、CUDA版本的OpenCV:参考我的文章:https://zhuanlan.zhihu.com/p/131353743二、代码示例1、新建控制台项目2、在源文件中加载头文件如下:#include "stdafx.h"#include "cuda_runtime.h"#include "device_launch_parameters.h"#in原创 2020-09-17 17:55:23 · 114 阅读 · 0 评论 -
Mat类型和unsigned char*数据指针类型互转
1.Mat转unsigned char*函数void MatToData(Mat srcImg, void*& data){ int nFlag = srcImg.channels() * 8;//一个像素的bits int nHeight = srcImg.rows; int nWidth = srcImg.cols; int nBytes = nHeight * nWidth * nFlag / 8;//图像总的字节 if (data) delete[] data; d原创 2020-09-17 17:51:31 · 1538 阅读 · 0 评论 -
OpenCV解除加载图像大小的限制
前言最近做项目遇到一个问题,就是有个分辨率大小35000*35000的图像文件,无法通过OpenCV的imread函数读取,只要一读取,程序就直接崩溃了。报abort错误。我调试程序,发现总像素数目已经超过了OpenCV声明最大像素数目(CV_IO_MAX_IMAGE_PIXELS)限制,所以无法读取!一、定位问题OpenCV本身对加载的图像大小是由限制的,这个限制定义在下面的文件中:modules\imgcodecs\src\loadsave.cpp这个源码文件中,有三个关于图像imr原创 2020-09-17 17:50:44 · 2243 阅读 · 1 评论 -
关于OpenCV设置像素值之后,像素值跟设置的值存在细微偏差的原因
前言前段时间做某个算法对图像像素进行操作,设置了像素值为0和255,但是保存算法执行之后的图片(jpeg格式)。再读取保存的图片,发现某个位置的像素值本来是0或者255的,但是变成了3或者250等值,产生了细微的偏差。看代码也没找出什么问题。后面定位问题应该出在保存图片格式上。一、OpenCV目前支持的图像格式OpenCV目前支持的图像格式包括:1、Windows位图文件 - BMP, DIB;2、JPEG文件 - JPEG, JPG, JPE;3、便携式网络图片 - PNG;4原创 2020-09-17 17:49:08 · 475 阅读 · 0 评论 -
OpenCV实现两种图像抖动算法
前言对于可用颜色较少的系统,可以以牺牲分辨率为代价,通过颜色值的抖动来增加可用颜色数量。通俗来说,假如一个灰色图像,有256个灰阶,灰度值范围是0-255。现在只能使用两个灰阶0(黑色)和255(白色)去显示这个灰色图像,那怎么办呢?结论就是通过图像的“抖动”来实现。灰色图像中越黑的地方,周围的像素用0密集排布,越白的地方,黑色像素点越稀疏。通过对黑色像素点的稀疏或者密集去体现不同的灰阶(核心思想)。下面就讨论两种图像抖动算法,一个是Ordered,一个是floydSteinberg。一、源代码原创 2020-09-17 17:47:33 · 2312 阅读 · 0 评论