山有木兮I 2021-12-21 14:17 采纳率: 100%
浏览 42
已结题

关于opencv+cuda混合编程遇到结果图横向重复四个块的问题!(语言-c++)

环境:win10+VS2015+cuda9.85+opencv4.5.3,GPUMX230;grid(80,5) , block(32,32),传参(GPU::PtrStepSz src , GPU::PtrStepSz dst, int dst_row ) ; 写出来的结果图片横向重复了四次;代码的功能是灰度重心计算的代码
__global__ void kernel(GPU::PtrStepSz<float> src , GPU::PtrStepSz<float> dst, 
                        int dst_row 
                        ) {

    int i = threadIdx.x + blockIdx.x * blockDim.x;  // thread在x方向的全局索引,也就是列坐标,第X列


    int j = threadIdx.y + blockIdx.y * blockDim.y;  // thread在y方向的全局索引,也就是行坐标,第J行
    
    
    if (j < src.rows && i < src.cols)                    //判断是否越界
    {
        if (j == 0) {
            float sum_valuecoor, sum_value;
            for (int j_y = 0; j_y < src.rows; j_y++) {
                if (src(j_y, i) > 30) {
                    sum_valuecoor += j_y * src(j_y, i);
                    sum_value += src(j_y, i);
                    //printf("hang : (%d)\n", j_y);
                }
                    //printf("huiduzhongxin_X: (%f)\n", huiduzhongxin_X);
                    //cunfang                
                    // 访问一个像素的方式是src(行坐标,列坐标)
                }
            if (sum_valuecoor > 0) {
                float huiduzhongxin_X = sum_valuecoor / sum_value;
                dst(dst_row, i) = huiduzhongxin_X;
            }
            else {
                dst(dst_row, i) = 0;
            }
            }
            
    }    
    //__syncthreads();                                // 同步所有线程
}


不报错但是结果不对 ,它横向写了四次一样的值 ,bmp格式的图片
请问大家这个问题有遇到过吗?它是bmp格式图片导致的吗?还是grid,block划分不对?或者是其他什么原因呢??


  • 写回答

4条回答 默认 最新

  • 有问必答小助手 2021-12-22 18:03
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


    本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


    因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月31日
  • 已采纳回答 12月23日
  • 创建了问题 12月21日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改