在学习:使用OpenCV2.x计算图像的水平和垂直积分投影中,有下图一种代码:

对比上面两个代码对于同一张图片求得的结果会发现不同;

为什么会出现这个原因呢?不知道为啥这样初始化?

首先查看一下图片深度

在了解一下8位, 16位,24位,32位图片显示原理及对比

以及这段代码的意思:c++学习之new int()和new int[]的区别

我们这段代码int* v = new int[src.cols * 4];memset(v, 0, src.cols * 4);

int* v = new int[src.cols * 4]在堆里分配内存,需要通过delete来释放,内存大小为src.cols * 4;

那为什么后面需要*4,不是其他数字呢

解释1:

int* v = new int[src->width];//用于记录每一列中像素值大于0的个数
int* h = new int[src->height];//用于记录每一行中像素值大于0的个数
memset(v, 0, src->width * 4);//为新申请的内存做初始化工作,初始化为0,int占4个字节,所以块的大小为src->width * 4
memset(h, 0, src->height * 4);//为新申请的内存做初始化工作,初始化为0,int占4个字节,所以块的大小为src->height * 4:

解释2:https://bbs.csdn.net/topics/390262091?page=1#post-392866591

int*v=newint[src.cols*4]的更多相关文章

  1. int* V.S. int[]

    [int* V.S. int[]] 在C++中,int[]有2种形态,一种是指针形态,即使用方法和int*一样,另一种是符号形态,即只是一个编译期的符号(意味着在runtime期,所定义的int[]根 ...

  2. opencv —— src.at<Vec3b>(i, j)[0]、src.at<uchar>(i, j)、src.ptr<uchar>(i) 访问图像的单个像素

    动态地址访问像素:src.at<Vec3b>(i, j)[0].src.at<uchar>(i, j)  int b = src.at<Vec3b>(i, j)[0 ...

  3. Opencv 330 如何裁剪图片中大的目标?

    main.cpp cv::Mat CropImage(cv::Mat& src, cv::RotatedRect& rotatedRect); cv::Mat MaxBoxSelect ...

  4. OpenCV 透视变换实例

    参考文献: http://www.cnblogs.com/self-control/archive/2013/01/18/2867022.html http://opencv-code.com/tut ...

  5. OpenCV——Harris、Shi Tomas、自定义、亚像素角点检测

    #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...

  6. Opencv 改进的外接矩形合并拼接方法

    上一篇中的方法存在的问题是矩形框不够精确,而且效果不能达到要求 这里使用凸包检测的方法,并将原来膨胀系数由20缩小到5,达到了更好的效果 效果图: 效果图: 代码: #include <open ...

  7. opencv::自定义角点检测

    #include <opencv2/opencv.hpp> #include <iostream> #include <math.h> using namespac ...

  8. opencv的频域滤波

    下面是频域滤波示例程序: 在本程序中,共有五个自定义函数,分别是: 1. myMagnitude(),在该函数中封装了Opencv中的magnitude函数,实现对于复数图像的幅值计算. 2. dft ...

  9. PCA分析,及c++代码实现

    本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fengbingchun/article/details/79235028 主成分分析(Principal Co ...

随机推荐

  1. css 隐藏滚动条

    如何使用css隐藏滚动条 如何隐藏滚动条,同时仍然可以在任何元素上滚动? 首先,如果需要隐藏滚动条并在内容溢出时显示滚动条,只需要设置overflow:auto样式即可.想要完全隐藏滚动条只需设置ov ...

  2. LINUX系统(CentOS7安装)一之JDK8的安装

    JDK 的安装系统安装就不做过多介绍,大家从网上寻找安装步骤进行安装,不过我推荐大家进行安装时选择桌面图形化格式进行安装,方便做一部分操作,同时在安装过程中选择英文模式,同时我自己在安装的过程中发现使 ...

  3. 折腾vue--使用vscode创建vue项目(二)

    1.安装webpack npm install -g webpack 2.安装sass npm install --save-dev sass-loader npm install --save-de ...

  4. java.lang.ClassCastException:java.util.LinkedHashMap不能转换为com.testing.models.xxx

    后台接收前台的json字符串 转pojo 问题(Object 对应定义的pojo) ObjectMapper mapper=new ObjectMapper(); Object object = ma ...

  5. 纪中20日c组模拟赛T1 2121. 简单游戏

    T1 2121. 简单游戏 (File IO): input:easy.in output:easy.out 时间限制: 1000 ms  空间限制: 262144 KB  具体限制 Goto Pro ...

  6. centos7查看启动的进程并杀死

    https://www.cnblogs.com/aipiaoborensheng/p/7676364.html ps -a -H kill -9 pid

  7. SP7258 SUBLEX - Lexicographical Substring Search - 后缀自动机,dp

    给定一个字符串,求本质不同排名第k小的子串 Solution 后缀自动机上每条路径对应一个本质不同的子串 按照 TRANS 图的拓扑序,DP 计算出每个点发出多少条路径 (注意区别 TRANS 图的拓 ...

  8. [51nod 1256] 乘法逆元 - exgcd

    给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的. Solution 用 EXGCD 求 ...

  9. Windows资源管理器卡死(未响应)的解决办法

    前几天笔记本出现一个莫名其妙的问题,不胜其扰,具体表现如下: A.打开资源管理器(我的电脑)时,会出现“正在处理它”的Loading提示,且地址栏会出现绿色进度条,进度条一般会持续几分钟(不影响进入分 ...

  10. P3768 简单的数学题 [杜教筛,莫比乌斯反演]

    \[\sum_{i=1}^{n}\sum_{j=1}^{n} ij\gcd(i,j)\] \[=\sum_{d=1}^{n} d \sum_{i=1}^{n}\sum_{j=1}^{n} ij[\gc ...