Page 1 of 2

使用自己编译的OPENCV4.8.0打开SC3336摄像头,图像异常。是还需要额外的初始化代码吗?

Posted: 2024-02-04 15:13
by fat32
各位大神们好,我用自己编译的OPENCV4.8.0打开SC3336摄像头,图像显示异常:
Image

Code: Select all

    cv:Mat buf, im;
    this->pCap->open("/dev/video11");
    this->pCap->set(cv::CAP_PROP_FRAME_WIDTH, width);
    this->pCap->set(cv::CAP_PROP_FRAME_HEIGHT, height); 
    (*this->pCap) >> buf;
    if(buf.empty()) {
        LOG(ERROR) << "Nothing!";
        return false;
    } else {
        cv::cvtColor(buf, im, cv::COLOR_YUV2BGR_UYVY);
        LOG(INFO) << "Image width: " << im.size().width << " height: " << im.size().height;
        return true;
    }
我想问下,rk1106对摄像头操作是否还有前置的初始化过程?

Re: 使用自己编译的OPENCV4.8.0打开SC3336摄像头,图像异常。是还需要额外的初始化代码吗?

Posted: 2024-02-05 3:33
by Eng38
opencv不兼容该摄像头,建议使用opencv-mobile
https://wiki.luckfox.com/zh/Luckfox-Pic ... ncv-mobile

Re: 使用自己编译的OPENCV4.8.0打开SC3336摄像头,图像异常。是还需要额外的初始化代码吗?

Posted: 2024-02-05 15:47
by fat32
改用OpenCV-mobile-4.9.0后,无法获取到图像:
Image

Re: 使用自己编译的OPENCV4.8.0打开SC3336摄像头,图像异常。是还需要额外的初始化代码吗?

Posted: 2024-02-06 3:24
by Crocodile
fat32 wrote: 2024-02-05 15:47 改用OpenCV-mobile-4.9.0后,无法获取到图像:
Image
有注意用 killall rkipc 关闭rkipc进程吗,opencv-mobile用到mpp库和系统开机运行的rkipc冲突

Re: 使用自己编译的OPENCV4.8.0打开SC3336摄像头,图像异常。是还需要额外的初始化代码吗?

Posted: 2024-02-06 6:17
by fat32
是的,确认rkipc已经kill,进程中已不存在rkipc

Re: 使用自己编译的OPENCV4.8.0打开SC3336摄像头,图像异常。是还需要额外的初始化代码吗?

Posted: 2024-02-06 6:22
by octopus
我看这个帖子 opencv-mobile-4.9.0 运行好像会有报错,4.8.1的不会:
https://forums.luckfox.com/viewtopic.php?t=69&start=10

Re: 使用自己编译的OPENCV4.8.0打开SC3336摄像头,图像异常。是还需要额外的初始化代码吗?

Posted: 2024-02-06 8:27
by Crocodile
这是我之前编译的4.9.0版本的,测试捕获一帧图片,你可以试一下

Re: 使用自己编译的OPENCV4.8.0打开SC3336摄像头,图像异常。是还需要额外的初始化代码吗?

Posted: 2024-02-06 14:26
by fat32
测试你这边编译好的opencv-mobile-test也是一样的
snapshot_opencv_mobile_test.png
我自己的也是同样情况:
屏幕截图 2024-02-06 222322.png
进程情况:

Code: Select all

# ps -ef
PID   USER     COMMAND
    1 root     init
    2 root     [kthreadd]
    4 root     [kworker/0:0H]
    6 root     [mm_percpu_wq]
    7 root     [ksoftirqd/0]
    8 root     [kdevtmpfs]
    9 root     [oom_reaper]
   10 root     [writeback]
   11 root     [kcompactd0]
   12 root     [ksmd]
   28 root     [kblockd]
   29 root     [kconsole]
   30 root     [devfreq_wq]
   31 root     [watchdogd]
   33 root     [rpciod]
   34 root     [kworker/u3:0]
   35 root     [xprtiod]
   36 root     [kswapd0]
   37 root     [nfsiod]
   38 root     [irq/64-rockchip]
   39 root     [irq/65-rockchip]
   40 root     [irq/66-rockchip]
   42 root     [hwrng]
   43 root     [spi0]
   51 root     [stmmac_wq]
   54 root     [irq/21-RTC alar]
   55 root     [irq/23-rockchip]
   56 root     [kworker/u2:2-ev]
   57 root     [ubi_bgt0d]
   60 root     [ubifs_bgt0_0]
   76 root     /sbin/syslogd -n
   80 root     /sbin/klogd -n
   91 root     /sbin/udevd -d
  148 root     [ubi_bgt4d]
  153 root     [ubifs_bgt4_0]
  162 root     [ubi_bgt5d]
  167 root     [ubifs_bgt5_0]
  189 root     [irq/51-ffa70000]
  207 root     [irq/42-rga2]
  209 root     [queue_work0]
  210 root     [queue_work1]
  211 root     [irq/49-ffa50000]
  212 root     [irq/50-ffa60000]
  213 root     [vcodec_thread_0]
  215 root     [rknpu_power_off]
  222 root     sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups
  244 root     [vlog]
  248 root     [vsys]
  249 root     [vrga]
  250 root     [vpss]
  251 root     [vrgn]
  252 root     [vmcu]
  347 root     /usr/bin/adbd
  373 root     [irq/67-dwc3]
  397 root     [venc]
  424 root     smbd -D
  427 root     {smbd-notifyd} smbd -D
  428 root     {smbd-cleanupd} smbd -D
  434 root     nmbd -D
  439 root     /sbin/getty -L console 0 vt100
  442 root     [kworker/0:3-eve]
  465 root     udhcpc -i usb0 -T 1 -A 0 -b -q
  473 root     /bin/sh -l
  544 root     /bin/sh -l
  950 root     [kworker/u2:0-ev]
 1118 root     [kworker/0:0-eve]
 1576 root     ./opencv-mobile-test
 1587 root     [kworker/0:1]
 1677 root     ps -ef

Re: 使用自己编译的OPENCV4.8.0打开SC3336摄像头,图像异常。是还需要额外的初始化代码吗?

Posted: 2024-02-07 2:17
by Crocodile
fat32 wrote: 2024-02-06 14:26 测试你这边编译好的opencv-mobile-test也是一样的
snapshot_opencv_mobile_test.png

我自己的也是同样情况:
屏幕截图 2024-02-06 222322.png

进程情况:

Code: Select all

# ps -ef
PID   USER     COMMAND
    1 root     init
    2 root     [kthreadd]
    4 root     [kworker/0:0H]
    6 root     [mm_percpu_wq]
    7 root     [ksoftirqd/0]
    8 root     [kdevtmpfs]
    9 root     [oom_reaper]
   10 root     [writeback]
   11 root     [kcompactd0]
   12 root     [ksmd]
   28 root     [kblockd]
   29 root     [kconsole]
   30 root     [devfreq_wq]
   31 root     [watchdogd]
   33 root     [rpciod]
   34 root     [kworker/u3:0]
   35 root     [xprtiod]
   36 root     [kswapd0]
   37 root     [nfsiod]
   38 root     [irq/64-rockchip]
   39 root     [irq/65-rockchip]
   40 root     [irq/66-rockchip]
   42 root     [hwrng]
   43 root     [spi0]
   51 root     [stmmac_wq]
   54 root     [irq/21-RTC alar]
   55 root     [irq/23-rockchip]
   56 root     [kworker/u2:2-ev]
   57 root     [ubi_bgt0d]
   60 root     [ubifs_bgt0_0]
   76 root     /sbin/syslogd -n
   80 root     /sbin/klogd -n
   91 root     /sbin/udevd -d
  148 root     [ubi_bgt4d]
  153 root     [ubifs_bgt4_0]
  162 root     [ubi_bgt5d]
  167 root     [ubifs_bgt5_0]
  189 root     [irq/51-ffa70000]
  207 root     [irq/42-rga2]
  209 root     [queue_work0]
  210 root     [queue_work1]
  211 root     [irq/49-ffa50000]
  212 root     [irq/50-ffa60000]
  213 root     [vcodec_thread_0]
  215 root     [rknpu_power_off]
  222 root     sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups
  244 root     [vlog]
  248 root     [vsys]
  249 root     [vrga]
  250 root     [vpss]
  251 root     [vrgn]
  252 root     [vmcu]
  347 root     /usr/bin/adbd
  373 root     [irq/67-dwc3]
  397 root     [venc]
  424 root     smbd -D
  427 root     {smbd-notifyd} smbd -D
  428 root     {smbd-cleanupd} smbd -D
  434 root     nmbd -D
  439 root     /sbin/getty -L console 0 vt100
  442 root     [kworker/0:3-eve]
  465 root     udhcpc -i usb0 -T 1 -A 0 -b -q
  473 root     /bin/sh -l
  544 root     /bin/sh -l
  950 root     [kworker/u2:0-ev]
 1118 root     [kworker/0:0-eve]
 1576 root     ./opencv-mobile-test
 1587 root     [kworker/0:1]
 1677 root     ps -ef
你的系统是在 SPI NAND Flash 上的还是 TF 卡上的,我在 luckfox-pico plus TF 卡上运行的结果:
Image
之前也遇到过运行不了的情况,似乎和 DMA 有关,很遗憾我没记录下来

Re: 使用自己编译的OPENCV4.8.0打开SC3336摄像头,图像异常。是还需要额外的初始化代码吗?

Posted: 2024-02-07 2:28
by fat32
是在SPI NAND上运行的,不过如果SPI NAND有DMA冲突的话,那rkipc那个也应该要有问题才是