山有木兮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 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料