int **OriginalImage定义是什么意思?

hxfhxf 2007-01-21 01:28:12
下载了一个分水岭算法的代码,函数为
函数名 : Watershed
功能 : 用标记-分水岭算法对输入图像进行分割
算法实现 : 无
输入参数说明 : OriginalImage --输入图像(灰度图,0~255)
SeedImage --标记图像(二值图,0-非标记,1-标记)
LabelImage --输出图像(1-第一个分割区域,2-第二个分割区域,...)
row --图像行数
col --图像列数
返回值说明
函数void Watershed(const int **OriginalImage, char** SeedImage, int **LabelImage, int row, int col)
,但不知道int **OriginalImage的定义是什么意思,直接定义后总是提示我定义不对。例子中的定义是这样的:unsigned char** ori_image;
ori_image=alloc_uszchar_space(m_imageH,m_imageW);
但是alloc_uszchar_space编译器不认,求大人指点,急!
...全文
429 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hxfhxf 2007-01-21
  • 打赏
  • 举报
回复
我找到了,应该如下:
unsigned char** ori_image=NULL;
ori_image=new unsigned char*[m_imageH];
for(i=0;i<m_imageH;i++)
ori_image[i]=new unsigned char[m_imageW];
hxfhxf 2007-01-21
  • 打赏
  • 举报
回复
但是后面程序会出错,因为定义unsigned char** ori_image后,后面要用到ori_image[i][j]这样的变量,不知道ori_image=alloc_uszchar_space(m_imageH,m_imageW)是什么意思,需要什么样的头文件?貌似分配了内存空间,然后后面就可以直接应用ori_image[i][j]的表达
王国凡 2007-01-21
  • 打赏
  • 举报
回复
初始化? 可以设置成 NULL 哦.
unsigned char** ori_image = NULL;
hxfhxf 2007-01-21
  • 打赏
  • 举报
回复
指向指针的指针, 即二级指针 。谢谢
请问这样的指针怎么初始化。就是函数参数为unsigned char** ori_image,
在调用的地方定义unsigned char** ori_image;
ori_image=alloc_uszchar_space(m_imageH,m_imageW);
但是ori_image的初始化alloc_uszchar_space(m_imageH,m_imageW抱错,应该怎么做,
理解上应该是1个动态二维数组。
王国凡 2007-01-21
  • 打赏
  • 举报
回复
就是指向指针的指针, 即二级指针 .
例如,
char a[10] 在作为函数参数的时候, 可以写成 char *p, 用来表示一个字符串
但是如果我想表示几个这样的字符串怎么办呢? 那就可以用二级指针 char *a[10];

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧