请问红色那行代码执行时候指向图像的第一个位置是哪里?(其他数组已知)

jhgjbm 2007-11-09 10:43:11
#define IMG_WIDTH 640
#define IMG_HEIGHT 480
#define IMG_SIZE (IMG_WIDTH*IMG_HEIGHT)


void EpipolarRectify(byte* SrcImg,byte* DestImg,int cam)
{
float uo,vo; //原图象象素坐标
float un,vn; //校正后图象象素坐标
//NOTE:象素坐标系原点位于图象中心
float divisor;
float u1,v1; //将象素坐标系原点平移到左上角后的像素坐标
int u2,v2;
byte* lpPtr[4];
byte* lpDest;
float rx,ry;
float MaxU=IMG_WIDTH;
float MaxV=IMG_HEIGHT;

for(vn=-MaxV+MOVEV;vn<MaxV+MOVEV;vn++)
for(un=-MaxU+MOVEU;un<MaxU+MOVEU;un++)
{
divisor =g[cam][2][0]*un+g[cam][2][1]*vn+g[cam][2][2];
uo=(g[cam][0][0]*un+g[cam][0][1]*vn+g[cam][0][2])/divisor;
vo=(g[cam][1][0]*un+g[cam][1][1]*vn+g[cam][1][2])/divisor;
u1=uo+MaxU/2;
v1=vo+MaxV/2;
u2=(int)(un+MaxU-MOVEU);
v2=(int)(vn+MaxV-MOVEV);
lpDest=DestImg+IMG_SIZE*4-(v2+1)*IMG_WIDTH*2+u2; if( u1 >= IMG_WIDTH-2 || u1 < 1 || v1 >= IMG_HEIGHT-3 || v1 < 0 ) //在图像外
{
*lpDest=255;
continue;
}
lpPtr[0]=SrcImg+IMG_SIZE-((int)v1+1)*IMG_WIDTH+(int)u1;
lpPtr[1]=SrcImg+IMG_SIZE-((int)v1+1)*IMG_WIDTH+(int)u1+1;
lpPtr[2]=SrcImg+IMG_SIZE-((int)v1+2)*IMG_WIDTH+(int)u1;
lpPtr[3]=SrcImg+IMG_SIZE-((int)v1+2)*IMG_WIDTH+(int)u1+1;
rx=u1-(int)u1;
ry=v1-(int)v1;
(*lpDest)=(byte)(((*lpPtr[0])*(1.0f-rx)+(*lpPtr[1])*rx)*(1.0f-ry)
+((*lpPtr[2])*(1.0f-rx)+(*lpPtr[3])*rx)*ry); //双线性插值
}
}
...全文
33 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
有点难度哦
UltraBejing 2008-04-30
  • 打赏
  • 举报
回复
没遇到过这种情况.
本视频以程序员的视角分析和阐述了以下几方面的内容:第一,主要阐述人类的思维活动模式;第二,阐述人工智能如何实现;第三,讲解人工智能的具体实现方法。在阐述这三点主要内容的同时,通过具体示例说明了自然语言在开发人工智能时的重要作用,即自然语言是人类在认知自然时抽象的产物,是思维和自然联系的工具。利用在人工智能开发时,是人工智能和人类的沟通桥梁,时人工智能思维产物被人类认知的桥梁。所以说自然语言是开发人工智能必不可少的工具。人们在认知自然界的时候,获取的所有信息都是抽象后的信息。也就是我们的感官能够接收或感受到的信息。换句话说,就是获取的到信息都只是某个事物的一部分信息。比如眼前的显示器:眼睛看到的只是它的颜色、形状和大小,用手只能感知到它的重量及是否光滑、温度等信息,鼻子只能感知到其散发的味道。而它只有这些信息吗?当然不止,只是其它信息我们无法感知,或者不需要知道而已,因为已知的信息已经足够满足我们对其认知的需要了。加入我们需要移动显示器的时候,我们知道其外壳是塑料的,足够结实,能够保护屏幕就可以了,塑料的具体成分,我们不需要去了解就已经能满足我们认知的需要了。然后我们就可以拿着外壳移动显示器了。换个说法也可以:我们在认知自然界的时候,只是认知了事物的部分特征。这些特征已经基本满足了我们的认知需求。而特征就是事物的部分性质的抽象信息。自然语言就是最佳的抽象工具。通过自然语言,我们才能够将事物抽象为一个个的名词;将连续的动作抽象为动词;将描述名词和动词的信息抽象为形容词和副词;为了更加精确的描述事物的多少,产生了数量词来做度量衡;为了更加完美的描述自然界,又衍生出了虚词;为了表示关系,产生了介词;为了表示逻辑,产生了连词。而作为人类描述自然界事物的工具,自然语言也天然是人工智能和人类沟通交流的工具。现在的计算机及相关的软硬件已经十分的丰富。完全具备实现人工智能的条件,市面也流行着很多人工智能的算法,但在我看来这些算法充其量可以作为人工智能的部分外设。如图像识别、深度学习、NLP、机械臂等,可以为人工智能的眼睛、判别工具、手腿等外设。因为这些算法都有以下几个缺点:一、不会自动产生需求。除了设定好的目标外,无法识别人类的其它指令,也就无法做出正确的响应;二、方法是事先固化的,除固定的算法外,对于新的需求无法自动生成新的算法。三、对于目标无法自动设定达成标准,也就是说没有办法自动判断自己的动作执行结果是否符合自己的需求。四、无法自动生成目标,也就是说没有主动性。当遇到复杂任务时,无法通过分解任务来完成。本文站在程序员的视角,分三章系统的分析了人类的思维方式,并转化为程序逻辑,最终实现使用计算机程序来完成人类的思维过程。第一章主要是讲述的是人类的思维方式;第二章主要讲述的是如何将人类思维中需要的信息进行数据化,以便于存储到电脑中;第三章主要讲述的是程序的逻辑架构和部分实现方法。

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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