我是靠谱客的博主 野性纸鹤,最近开发中收集的这篇文章主要介绍OpenVX编程笔记(二)第一个VX程序1. example1.c,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

第一个VX程序

1. example1.c

该例子使用*Immediate模式*,对一幅图像进行fast corner提取。
具体程序功能说明请见*程序*注释。

2. 例子总结

2.1 代码结构:

首先生成一幅100x100的image并设置为黑色,然后从中间设置一个60x20的roi设置为白色。
通过immediate mode模式调用VX的fast corner算法获取角点并输出。

2.2使用到的VX对象总结:

  • vxCreateContext()

 生成一个vx_context对象。

  • vxReleaseContext()

  释放一个context对象。

 vxReleaseContext(context_p);

  • vxCreateImage()

  生成一个`vx_image`对象。

vx_image image = vxCreateImage(context, 100U, 100U, VX_DF_IMAGE_U8);
  • vx_rectangle_t

  定义一个矩形

vx_rectangle_t rect = {
  .start_x = 20, .start_y = 40, .end_x=80, .end_y = 60
};
  • vxCreateImageFromROI()

 将rect覆盖到image上,生成一个roi,roi持有原始image的索引,roi的改变将导致原始image的改变。

vx_image roi = vxCreateImageFromROI(image, &rect);
  • vxSetImagePixelValues()

设置vx_image对象的颜色。

vxSetImagePixelValues(image, &pixel_black)
  • vxReleaseImage()

 释放一个vx_image对象。

  • vxCreateScalar()

 生成一个vx_scalar类型对象,这样才能被vx的node所使用。

vxCreateScalar(context, VX_TYPE_FLOAT32, &strength_thresh_value);
  • vxCreateArray()

  生成一个vx_array对象。

  • vxCopyScalar()

  拷贝一个vx_scale对象到一个地址.

// 拷贝num_corners到num_corners_value中,可以用于输出
// VX_READ_ONLY: 将num_corners拷贝到num_corners_value
// VX_WRITE_ONLY:将num_corners_value拷贝到num_corners
vxCopyScalar(num_corners, &num_corners_value, VX_READ_ONLY, VX_MEMORY_TYPE_HOST)
  •  vxCopyArrayRange()

 将指定范围的array拷贝到一个地址。

// 将corners拷贝到kp对应的内存,用于输出
// VX_READ_ONLY: 将corners拷贝到kp
// VX_WRITE_ONLY:将kp拷贝到corners
vxCopyArrayRange( corners, 0, num_corners_value, sizeof(vx_keypoint_t), kp,
VX_READ_ONLY, VX_MEMORY_TYPE_HOST);
  •  vxuFastCorners()

 使用immediate mode调用vx的fast corners算法。 

// 使用非极大压制
vxuFastCorners(context, image1, strength_thresh, vx_true_e, corners, num_corners);
// 不使用非极大压制
vxuFastCorners(context, image1, strength_thresh, vx_false_e, corners1, num_corners1)

最后

以上就是野性纸鹤为你收集整理的OpenVX编程笔记(二)第一个VX程序1. example1.c的全部内容,希望文章能够帮你解决OpenVX编程笔记(二)第一个VX程序1. example1.c所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部