VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 3687|回复: 2

MASM32调用openCV之cvLine,cvCircle等等绘图函数出现问题

[复制链接]
发表于 2016-2-16 23:26:54 | 显示全部楼层 |阅读模式
本帖最后由 creation0 于 2016-2-16 23:47 编辑

结构定义:
typedef struct CvPoint
{
    int x;
    int y;
}
CvPoint;

typedef struct CvScalar
{
    double val[4];
}
CvScalar;
函数原型:
CVAPI(void)  cvLine( CvArr* img, CvPoint pt1, CvPoint pt2,
                     CvScalar color, int thickness CV_DEFAULT(1),
                     int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0) );
CVAPI(void)  cvCircle( CvArr* img, CvPoint center, int radius,
                       CvScalar color, int thickness CV_DEFAULT(1),
                       int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0));

在MASM32中使用时,
结构定义:
CvPoint                                 struc
    x                                   dd 0
    y                                   dd 0
CvPoint                                 ends
CvScalar                                struc
    val                                 dq 4 dup (0)
CvScalar                                ends
变量定义:
local   lpIplImage, pt1: CvPoint, pt2: CvPoint, color: CvScalar, radius
变量pt1,pt2, radius,color赋值:
...
调用:
invoke  cvLine, lpIplImage, addr pt1, addr pt2, addr color, 1, 8, 0
结果图片上啥都没画上
调用:
invoke  cvCircle, lpIplImage, addr pt1, radius, addr color, 1, 8, 0
结果图片上除了左侧多了1条细细的黑色竖线贯穿图片,其它也啥都没有

注:windows XP, openCV2.4.11
请帮忙分析一下问题所在,不胜感谢!!!

点评

别的不会呀...  发表于 2016-2-23 23:10
为什么要用汇编来写……你试试用汇编调用纯C++的库试试。。。  发表于 2016-2-23 22:20
 楼主| 发表于 2016-2-18 17:57:07 | 显示全部楼层
已解决,请GM删帖
回复 支持 反对

使用道具 举报

发表于 2016-2-18 21:34:45 | 显示全部楼层
现在学MASM没什么意义,NASMX FASM还有点用
MASM的头文件没有64位支持,现在64位系统上用处很局限
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2023-2-3 15:18

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表