(C++)图像处理,为何处理过后的图像会变黑?我只是在里面截个图而已啊。。。

附上代码:

存储时是位图?有没有填写bitmap的头信息,存储的是多少位的?24bit还是32bit,linebytes 计算等等,信息都要填对。 直接用UE打开生成的图片,看看二进制数据,头信息是否正确。追问

8bit的,我是用halcon配合c++弄的,具体都是在它的函数里计算的,并不开源,怎么确定问题所在呢?

追答

8bit的?那你用工具做个8bit的图A,然后二进制比较下你生成的 图和这个图A 的头信息部分,如果没问题那就是存储数据时的问题了。建议还是彻底看下位图的结构。 通过图片宽高和linebytes 计算下图片size 看看和实际生成的大小是不是一样。

追问

时隔一月...的确是数组大小的问题。

现在求问一下有没有什么好办法把一个地址里小的数组完全覆盖掉大数组呢?

我表达得有点乱,大概是不改变地址的情况下怎么改变数组大小实现图像的缩放?

温馨提示:内容为网友见解,仅供参考
无其他回答

图像处理(十一)exposure fusion 图像曝光融合
经过我追本溯源,发现这是由于多张图像之间的灰度跳变太大导致的——假设现在有图像序列[公式],在点[公式]处,比重值分别是[公式],因此在融合时,[公式]点的灰度值主要取决于[公式];在旁边一个点,[公式]的比重值却是[公式],融合时就主要取决于[公式],而从[公式]的灰度值跳变太大,因此...

数字图像处理(c++ opencv):形态学图像处理-图像腐蚀与膨胀
腐蚀操作旨在去除图像中的某些部分,缩小细化目标。在白色背景上,黑色目标会变大;在黑色背景上,白色目标会变小。操作通过与结构元素接触,认为是腐蚀图像中的白色像素,从而导致黑色膨胀。使用 OpenCV 的 c++ 实现腐蚀操作涉及以下步骤:- 使用 getStructuringElement 函数构建结构元素。- 调用 erode 函数...

c++图像模糊处理
int main(){ int m, j, n, idx;char c;scanf("%d %d", &m, &n);char *p = (char*)malloc(m * n);char *q = (char*)malloc(m * n);for(int i=0;i<n;i++){ j = 0;while((c=getchar())!='\\n'){ if(isdigit(c)){ ungetc(c,stdin);scanf("%c",&p[i * ...

C++图像处理?忘高手指教!
你要请教什么啊?你把你不会的地方也说出来啊。你该不会想让别人从头到尾整个帮你做了吧。这样偷懒是不行的,不仅不利于自己进步,而且高手一般只会给你一些指点,不可能给你从头到尾包办的,大部分人不会愿意浪费大把时间来赚那一点点分数,当然那种从网上给你大段粘贴代码的除外。

图像处理学习笔记(七)——二值化、阈值处理、灰度、分段线性(理论...
超出范围的设为黑白。分段线性变换则可以实现对图像的多阶段线性调整,适用于复杂场景的处理。虽然本文主要讨论了线性变换,但理解这些基本概念对于图像处理的深入学习至关重要。希望这些内容能帮助你提升图像处理技能,如果你觉得有价值,欢迎持续关注我们的学习内容,一起学习,共同进步。

C++图片处理问题(高分50)
要求被处理的图片的的情况类似,否则固定阈值就不能很好的区分。如果画面中只有太阳,可以考虑首先提取圆形区域出来,然后处理。如果画面中,太阳和其他区域的亮度区间比较集中,可以考虑用直方图处理。……越说越复杂了,这个可以考虑参考 机器视觉 方面的书(注意不是图像处理,那些书主要讲滤镜的)...

OpenCV C++(五)---图像平滑
在OpenCV中同样通过定义函数:此外, 中值平滑只是排序统计平滑中的一种, 如果将取邻域的中值变为取邻域中的 最小值或者最大值, 显然会使图像变暗或者变亮。 这类方法就是后面要介绍的形态学 处理的基础。高斯平滑、均值平滑在去除图像噪声时,会使图像的边缘信息变得模糊,接下来就 介绍在图像平滑...

在VC++中如何进行图像处理?
申请个二维或一维数组,把图像亮度值装进去。比如用:CBitmap::LoadBitmap 之类的函数,把硬盘中的文件读进数组。然后做各种图像处理。(二值化,过滤处理之类的)再显示或存盘。或者用一些现成的图像处理库。比如收费的(LeadTools),免费的(OpenCV)之类的。

openCV的数据类型,(cpp版下的)Mat类, imshow,和plt的imshow
OpenCV的Mat类是核心图像处理结构,它指向图像的实际数据,并且有时会进行数据的复制或不复制操作,具体取决于操作的性质。在读取图像时,imread函数返回的图像形状为高度在前,宽度在后的形式,与NumPy和numpy数组的形状相同。如果需要改变图像的数据类型,可以使用convertTo函数,但如果不指定缩放参数,它仅...

c++对一图像处理后(用于显示),想保存原始图像怎么弄呢
1、将原始图像读入缓冲区 2、对缓冲区内的图像做复制 3、处理复制后的图像,用于显示 4、保存缓冲区内的图像

相似回答