山有木兮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日

悬赏问题

  • ¥15 基于bert-base-chinese的中文文本处理
  • ¥15 高价求抖音抓包技术,抖音抓包无网络问题
  • ¥15 【matlab】已知功率谱密度反求时域信号
  • ¥15 mindspore项目_模型适配
  • ¥15 openstack使用cinder后,实例运行时分配的总空间不能大于ceph的总空间
  • ¥15 [pcl::PLYWriter::writeASCII] Error during opening (?鶂?)!
  • ¥15 得到XY两轴的数据如何绘制成圆,输入整形器
  • ¥29 PHP读取PDF文件添加多个数字签名
  • ¥25 联邦学习vgg修改最后一个全连接层报错(默认是1000个输出,我的改为11就报错,改为200就没问题)
  • ¥15 maple画图问题,为什么会是这样