Page 2 of 2

Re: 在picoplus上编译opencv及opencv_contrib时遇到报错

Posted: 2024-01-27 9:03
by kw_ddw
①我重新下载了网盘里的镜像buildroot,直接烧录,没有任何修改

②我编译了社区分享opencv-mobile的项目,
CMakeList如下
project(camera_test)
cmake_minimum_required(VERSION 3.5)
set(CMAKE_CXX_STANDARD 11)



# luckfox compiler
SET(CMAKE_C_COMPILER "/root/workspace/luckfox/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc")
SET(CMAKE_CXX_COMPILER "/root/workspace/luckfox/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-g++")

# x86 compiler
#SET(CMAKE_C_COMPILER gcc)
#SET(CMAKE_CXX_COMPILER g++)

# luckfox lib
set(OpenCV_DIR "${CMAKE_CURRENT_SOURCE_DIR}/opencv-mobile-4.9.0-luckfox-pico/lib/cmake/opencv4")

# x86 lib
#set(OpenCV_DIR "${CMAKE_CURRENT_SOURCE_DIR}/opencv-mobile-4.9.0/build/install/lib/cmake/opencv4")


find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

add_executable(camera_test main.cpp)

target_link_libraries(camera_test ${OpenCV_LIBS})

源码如下:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

#include <unistd.h> // sleep()

int main()
{
cv::VideoCapture cap;
cap.set(cv::CAP_PROP_FRAME_WIDTH, 320);
cap.set(cv::CAP_PROP_FRAME_HEIGHT, 240);
cap.open(0);

const int w = cap.get(cv::CAP_PROP_FRAME_WIDTH);
const int h = cap.get(cv::CAP_PROP_FRAME_HEIGHT);
fprintf(stderr, "%d x %d\n", w, h);

cv::Mat bgr[9];
for (int i = 0; i < 9; i++)
{
cap >> bgr;

sleep(1);
}

cap.release();

// combine into big image
{
cv::Mat out(h * 3, w * 3, CV_8UC3);
bgr[0].copyTo(out(cv::Rect(0, 0, w, h)));
bgr[1].copyTo(out(cv::Rect(w, 0, w, h)));
bgr[2].copyTo(out(cv::Rect(w * 2, 0, w, h)));
bgr[3].copyTo(out(cv::Rect(0, h, w, h)));
bgr[4].copyTo(out(cv::Rect(w, h, w, h)));
bgr[5].copyTo(out(cv::Rect(w * 2, h, w, h)));
bgr[6].copyTo(out(cv::Rect(0, h * 2, w, h)));
bgr[7].copyTo(out(cv::Rect(w, h * 2, w, h)));
bgr[8].copyTo(out(cv::Rect(w * 2, h * 2, w, h)));

cv::imwrite("out.jpg", out);
}

return 0;
}
③pico plus 检测到摄像头, ls /userdata/后有rkipc.ini
④使用ssh传输程序至开发板,运行程序,仍然报错
# ./camera_test
this device is not whitelisted for jpeg decoder cvi
this device is not whitelisted for jpeg decoder cvi
this device is not whitelisted for jpeg decoder cvi
this device is not whitelisted for capture cvi
this device is not whitelisted for capture cvi
this device is not whitelisted for capture cvi
this device is not whitelisted for capture cvi
this device is not whitelisted for capture cvi
this device is not whitelisted for capture cvi
this device is not whitelisted for capture cvi
devpath = /dev/video11
driver = rkisp_v7
card = rkisp_mainpath
bus_info = platform:rkisp-vir0
version = 20000
capabilities = 84201000
device_caps = 4201000
fmt = UYVY 4:2:2 59565955
fmt = Y/CbCr 4:2:2 3631564e
fmt = Y/CrCb 4:2:2 3136564e
fmt = Y/CrCb 4:2:0 3132564e
size = 32 x 16 ~ 2304 x 1296 (+8 +8)
fmt = Y/CbCr 4:2:0 3231564e
fmt = Y/CrCb 4:2:0 (N-C) 31324d4e
fmt = Y/CbCr 4:2:0 (N-C) 32314d4e
rkaiq log level ff0

Re: 在picoplus上编译opencv及opencv_contrib时遇到报错

Posted: 2024-01-27 9:21
by Eng38
1.我注意到CMakeList似乎有些不同,用教程中提供的是否可行?
2.运行程序前是否已经释放摄像头资源:killall rkipc
3.使用的摄像头是SC3336 3MP Camera么
4.执行 cat /proc/device-tree/model,输出是否是 Luckfox Pico Plus

Re: 在picoplus上编译opencv及opencv_contrib时遇到报错

Posted: 2024-01-27 9:33
by kw_ddw
①cmake除注释外并无区别
②摄像头为该型号
③killall rkipc后仍然报错
④cat /proc/device-tree/model输出为Luckfox Pico Plus

Re: 在picoplus上编译opencv及opencv_contrib时遇到报错

Posted: 2024-01-27 9:35
by kw_ddw
另外,我是用的opencv版本为4.9.0,问题可能出在这吗

Re: 在picoplus上编译opencv及opencv_contrib时遇到报错

Posted: 2024-01-27 10:12
by Eng38
先用这个测试一下看看
Downloaded 550 times

Re: 在picoplus上编译opencv及opencv_contrib时遇到报错

Posted: 2024-01-27 13:01
by kw_ddw
您好!十分抱歉!运行4.9.0版本实际上是可以正常运行的,虽然打印信息和文档不同,但是仍然输出了正确结果。
不过,运行您给的程序,是正常打印信息的,而4.9.0版本则会打印
this device is not whitelisted for jpeg decoder cvi
this device is not whitelisted for jpeg decoder cvi
this device is not whitelisted for jpeg decoder cvi
this device is not whitelisted for capture cvi
信息,我想这是否也是一个可以改进的小细节?

Re: 在picoplus上编译opencv及opencv_contrib时遇到报错

Posted: 2024-01-27 13:49
by Eng38
是的,4.9.0版本的错误提示请期待后续改进

Re: 在picoplus上编译opencv及opencv_contrib时遇到报错

Posted: 2024-01-30 11:16
by Yurii
Is it possible from this example https://wiki.luckfox.com/Luckfox-Pico/L ... ncv-mobile opencv mobile run to pictures in a streaming video?
Then read from VLS player or something similar.

Re: 在picoplus上编译opencv及opencv_contrib时遇到报错

Posted: 2024-01-31 1:30
by Eng38
Yurii wrote: 2024-01-30 11:16 Is it possible from this example https://wiki.luckfox.com/Luckfox-Pico/L ... ncv-mobile opencv mobile run to pictures in a streaming video?
Then read from VLS player or something similar.
https://forums.luckfox.com/viewtopic.php?t=99