您的位置:首页 > 脚本大全 > > 正文

python函数调用传递数组数据(python调用c++传递数组的实例)

更多 时间:2022-03-30 00:48:08 类别:脚本大全 浏览量:987

python函数调用传递数组数据

python调用c++传递数组的实例

如下所示:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • INPUT = c_int * 4
  • # 实例化一个长度为2的整型数组
  • input = INPUT()
  • # 为数组赋值(input这个数组是不支持迭代的)
  • input[0] = 11
  • input[1] = 2
  • input[2] = 3
  • input[3] = 4
  • dll.teststring.restype = c_char_p
  • # bytes(aaaa, encoding="utf-8")
  • a = dll.teststring(input,4)
  •  
  •  
  • MYLIBDLL char* teststring(int* plus1, int len);
  •  
  • char* teststring(int* plus1,int len) {
  •  
  •  
  •     for (int i = 0; i < len; i++) {
  •         printf("%d \n", plus1[i]);
  •     
  •  
  •  
  •  
  •  
  •     Mat mat;
  •     //加载图片  
  •     mat = imread("bgs.jpg", CV_LOAD_IMAGE_COLOR);
  •     printf("a %d %d", mat.rows, mat.cols);
  •     //if (!mat.empty()) {
  •  
  •  
  •     int m, n;
  •     n = mat.cols * 3;
  •     m = mat.rows;
  •     unsigned char *data = (unsigned char*)malloc(sizeof(unsigned char) * m * n);
  •     int p = 0;
  •     for (int i = 0; i < m; i++)
  •     {
  •         for (int j = 0; j < n; j++)
  •         {
  •             data[p] = mat.at<unsigned char>(i, j);
  •             p++;
  •         }
  •     }
  •     *plus1 = p;
  •     return (char*)data;
  • }
  • 以上这篇python调用c++传递数组的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。

    原文链接:https://blog.csdn.net/jacke121/article/details/80287427

    标签:Python C++ 数组
    您可能感兴趣