【luckfox-pico plus】关闭官方镜像自带ai检测功能

博客记录了在luckfox-pico plus开发板上获取网络摄像头原始图像的过程。因官方镜像自带目标检测,项目需获取原始图像。介绍了环境,包括开发板、摄像头、镜像等,还说明了进入命令行、修改开机启动脚本和摄像头配置文件以关闭自带AI检测功能,以及静态IP设置和关闭ntp服务等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:luckfox-pico plus,官配sc3336摄像头,官方sdk编译的emmc-buildroot镜像(EMMC_RV1103G-LUCKFOX-PICO-PLUS-SD.DTS_2024xxxx.xxxx_RELEASE_TEST),MobaXterm

问题描述:官方镜像自带目标检测,而项目需要获取网络摄像头原始图像,故记录之。

现象:晃动摄像头,或有人入镜,串口日志打印如下内容:

[video.c][rkipc_ivs_get_results]:OD flag:1
[video.c][rkipc_ivs_get_results]:OD flag:1
[video.c][rkipc_ivs_get_results]:OD flag:1
[video.c][rkipc_ivs_get_results]:OD flag:1
[video.c][rkipc_ivs_get_results]:OD flag:1
[video.c][rkipc_ivs_get_results]:OD flag:1
[video.c][rkipc_ivs_get_results]:OD flag:1
[video.c][rkipc_ivs_get_results]:Detect movement
[video.c][rkipc_ivs_get_results]:Detect movement
[video.c][rkipc_ivs_get_results]:Detect movement
[video.c][rkipc_ivs_get_results]:Detect movement
[video.c][rkipc_ivs_get_results]:Detect movement

1. 进入开发板命令行,我这里是在MobaXterm上通过串口进入的。

官方wiki https://wiki.luckfox.com/zh/Luckfox-Pico/Luckfox-Pico-Login-UART
在这里插入图片描述

2. 进入/etc/init.d/目录,找到开机启动脚本

进入目录。

# cd /etc/init.d/
# ls
S01seedrng       S20linkmount     S50telnet        S99python
S01syslogd       S20urandom       S50usbdevice     rcK
S02klogd         S21appinit       S90usb0config    rcS
S02sysctl        S40network       S91smb
S10udev          S50sshd          S99_auto_reboot

可以看到S21appinit,查看文件内容。

# cat S21appinit
#!/bin/sh
[ -f /etc/profile.d/RkEnv.sh ] && source /etc/profile.d/RkEnv.sh
case $1 in
        start)
                sh /oem/usr/bin/RkLunch.sh
                ;;
        stop)
                sh /oem/usr/bin/RkLunch-stop.sh
                ;;
        *)
                exit 1
                ;;
esac

显然,脚本路径就在/oem/usr/bin目录下。

3. 进入/oem/usr/bin/目录,修改Rklunch.sh

进入目录。

# cd /oem/usr/bin/
# ls
RkLunch-stop.sh                   rk_watchdog_test
RkLunch.sh                        rkaiq_3A_server
dumpsys                           rkipc
luckfox_adc_test                  rkisp_demo
luckfox_gpio_test                 sample_ai
luckfox_i2c_test                  sample_ai_aenc
luckfox_pwm_test                  sample_camera_stresstest
luckfox_spi_test                  sample_demo_multi_camera_eptz
luckfox_uart_test                 sample_demo_vi_venc
modetest                          sample_isp_stresstest
mpi_enc_test                      sample_mulit_isp_stresstest
mpp_info_test                     sample_multi_vi
rgaImDemo                         sample_rgn_stresstest
rk_adc_test                       sample_venc_stresstest
rk_event_test                     sample_vi
rk_gpio_test                      sample_vi_vpss_osd_venc
rk_led_test                       simple_adec_ao
rk_mpi_adec_test                  simple_ai
rk_mpi_aenc_test                  simple_ai_aenc
rk_mpi_af_test                    simple_ao
rk_mpi_ai_test                    simple_dual_camera
rk_mpi_amix_test                  simple_fast_client
rk_mpi_ao_test                    simple_venc_jpeg
rk_mpi_avio_test                  simple_venc_osd
rk_mpi_dup_venc_test              simple_vi_eptz_test
rk_mpi_mb_test                    simple_vi_get_frame
rk_mpi_mmz_test                   simple_vi_ivs
rk_mpi_rgn_test                   simple_vi_rkaiq
rk_mpi_sys_test                   simple_vi_rockiva
rk_mpi_tde_test                   simple_vi_tde
rk_mpi_venc_test                  simple_vi_venc
rk_mpi_vi_dup_test                simple_vi_venc_change_resolution
rk_mpi_vi_test                    simple_vi_venc_combo
rk_mpi_vpss_test                  simple_vi_venc_rtsp
rk_pwm_test                       simple_vi_venc_wrap
rk_rve_sample_test                simple_vi_vpss_venc
rk_system_test                    vpu_api_test

查看Rklunch.sh

# cat RkLunch.sh
#!/bin/sh

rcS()
{
        for i in /oem/usr/etc/init.d/S??* ;do

                # Ignore dangling symlinks (if any).
                [ ! -f "$i" ] && continue

                case "$i" in
                        *.sh)
                                # Source shell script for speed.
                                (
                                        trap - INT QUIT TSTP
                                        set start
                                        . $i
                                )
                                ;;
                        *)
                                # No sh extension, so fork subprocess.
                                $i start
                                ;;
                esac
        done
}

check_linker()
{
        [ ! -L "$2" ] && ln -sf $1 $2
}

network_init()
{
        ethaddr1=`ifconfig -a | grep "eth.*HWaddr" | awk '{print $5}'`

        if [ -f /data/ethaddr.txt ]; then
                ethaddr2=`cat /data/ethaddr.txt`
                if [ $ethaddr1 == $ethaddr2 ]; then
                        echo "eth HWaddr cfg ok"
                else
                        ifconfig eth0 down
                        ifconfig eth0 hw ether $ethaddr2
                fi
        else
                echo $ethaddr1 > /data/ethaddr.txt
        fi
        ifconfig eth0 up && udhcpc -i eth0
}

post_chk()
{
        #TODO: ensure /userdata mount done
        cnt=0
        while [ $cnt -lt 30 ];
        do
                cnt=$(( cnt + 1 ))
                if mount | grep -w userdata; then
                        break
                fi
                sleep .1
        done

        # if ko exist, install ko first
        default_ko_dir=/ko
        if [ -f "/oem/usr/ko/insmod_ko.sh" ];then
                default_ko_dir=/oem/usr/ko
        fi
        if [ -f "$default_ko_dir/insmod_ko.sh" ];then
                cd $default_ko_dir && sh insmod_ko.sh && cd -
        fi

        network_init &
        check_linker /userdata   /usr/www/userdata
        check_linker /media/usb0 /usr/www/usb0
        check_linker /mnt/sdcard /usr/www/sdcard
        # if /data/rkipc not exist, cp /usr/share
        rkipc_ini=/userdata/rkipc.ini
        default_rkipc_ini=/tmp/rkipc-factory-config.ini

        if [ ! -f "/oem/usr/share/rkipc.ini" ]; then
                lsmod | grep sc530ai
                if [ $? -eq 0 ] ;then
                        ln -s -f /oem/usr/share/rkipc-500w.ini $default_rkipc_ini
                fi
                lsmod | grep sc4336
                if [ $? -eq 0 ] ;then
                        ln -s -f /oem/usr/share/rkipc-400w.ini $default_rkipc_ini
                fi
                lsmod | grep sc3336
                if [ $? -eq 0 ] ;then
                        ln -s -f /oem/usr/share/rkipc-300w.ini $default_rkipc_ini
                fi
        fi
        tmp_md5=/tmp/.rkipc-ini.md5sum
        data_md5=/userdata/.rkipc-default.md5sum
        md5sum $default_rkipc_ini > $tmp_md5
        chk_rkipc=`cat $tmp_md5|awk '{print $1}'`
        rm $tmp_md5
        if [ ! -f $data_md5 ];then
                md5sum $default_rkipc_ini > $data_md5
        fi
        grep -w $chk_rkipc $data_md5
        if [ $? -ne 0 ] ;then
                rm -f $rkipc_ini
                echo "$chk_rkipc" > $data_md5
        fi

        if [ ! -f "$default_rkipc_ini" ];then
                echo "Error: not found rkipc.ini !!!"
                exit -1
        fi
        if [ ! -f "$rkipc_ini" ]; then
                cp $default_rkipc_ini $rkipc_ini -f
        fi

        if [ ! -f "/userdata/image.bmp" ]; then
                cp -fa /oem/usr/share/image.bmp /userdata/
        fi

        if [ -d "/oem/usr/share/iqfiles" ];then
                rkipc -a /oem/usr/share/iqfiles &
        else
                rkipc &
        fi
}

rcS

ulimit -c unlimited
echo "/data/core-%p-%e" > /proc/sys/kernel/core_pattern
# echo 0 > /sys/devices/platform/rkcif-mipi-lvds/is_use_dummybuf

echo 1 > /proc/sys/vm/overcommit_memory

post_chk &

可以看到该脚本有四个函数定义rcS() check_linker() network_init() post__chk()
解释如下

这段脚本是一个 Shell 脚本,主要用于系统启动时执行一系列初始化和配置操作。下面是对其中的关键函数和操作的分析:
1. `rcS()` 函数:该函数是整个脚本的入口,它遍历 `/oem/usr/etc/init.d/` 目录下以 `S` 开头的脚本文件,执行其中的初始化
	任务。如果文件以 `.sh` 结尾,会使用 `.` 命令(source 命令)执行脚本以加快速度,否则会以子进程方式执行。
2. `check_linker()` 函数:用于检查并创建软链接。如果第二个参数不是一个软链接,则会创建一个指向第一个参数的软链
	接。
3. `network_init()` 函数:用于网络初始化。它首先获取网卡 eth0 的 MAC 地址,并与存储在 `/data/ethaddr.txt` 文件中的 
	MAC 地址进行比较。如果两者不同,则将 eth0 接口关闭,并将 MAC 地址设置为 `/data/ethaddr.txt` 文件中存储的地
	址。然后启动 eth0 接口,并通过 DHCP 获取 IP 地址。
4. `post_chk()` 函数:该函数是启动后的一系列检查和配置操作。它首先检查 `/userdata` 是否已挂载,然后安装内核模块。
	接着调用 `network_init()` 函数进行网络初始化,并创建一些软链接。然后根据不同的情况选择合适的 `rkipc.ini` 配置文
	件,并校验其完整性。最后,启动 `rkipc` 进程。
6. 一些其他操作:脚本还设置了一些系统参数,如核心转储路径、虚拟内存过度提交等。
整体而言,这个脚本主要用于系统启动时进行一系列初始化和配置操作,包括网络初始化、内核模块加载、软链接创建等。

在这一段代码中可以看到,脚本根据摄像头型号加载不同的配置文件:

        if [ ! -f "/oem/usr/share/rkipc.ini" ]; then
                lsmod | grep sc530ai
                if [ $? -eq 0 ] ;then
                        ln -s -f /oem/usr/share/rkipc-500w.ini $default_rkipc_ini
                fi
                lsmod | grep sc4336
                if [ $? -eq 0 ] ;then
                        ln -s -f /oem/usr/share/rkipc-400w.ini $default_rkipc_ini
                fi
                lsmod | grep sc3336
                if [ $? -eq 0 ] ;then
                        ln -s -f /oem/usr/share/rkipc-300w.ini $default_rkipc_ini
                fi
        fi

显然,只需要修改不同摄像头的配置文件即可。

附:静态ip设置方法:

修改network_init()
ifconfig eth0 <你想设置的ip地址> netmask <子网掩码> up

network_init()
{
        ethaddr1=`ifconfig -a | grep "eth.*HWaddr" | awk '{print $5}'`

        if [ -f /data/ethaddr.txt ]; then
                ethaddr2=`cat /data/ethaddr.txt`
                if [ $ethaddr1 == $ethaddr2 ]; then
                        echo "eth HWaddr cfg ok"
                else
                        ifconfig eth0 down
                        ifconfig eth0 hw ether $ethaddr2
                fi
        else
                echo $ethaddr1 > /data/ethaddr.txt
        fi
        # ifconfig eth0 up && udhcpc -i eth0
        ifconfig eth0 192.168.5.100 netmask 255.255.255.0 up
}

4. 进入/oem/usr/share/目录,修改对应摄像头的配置文件

进入目录。

# cd /oem/usr/share/
# ls
image.bmp         rkipc-300w.ini    simsun_en.ttf     vqefiles
iqfiles           rkipc-400w.ini    speaker_test.wav
# cat rkipc-300w.ini
[audio.0]
enable = 1
card_name = hw:0,0
encode_type = G711A
format = S16
sample_rate = 8000
channels = 2
frame_size = 1152
bit_rate = 16000
input = mic_in
volume = 50
enable_aed = 0
enable_bcd = 0
enable_vqe = 1
vqe_cfg = /oem/usr/share/vqefiles/config_aivqe.json
rt_audio_period_size = 1024

[video.source]
enable_aiq = 1
enable_vo = 0
vo_dev_id = 3 ; 0 is hdmi, 3 is mipi
enable_ivs = 1
enable_jpeg = 1
enable_venc_0 = 1
enable_venc_1 = 1
enable_venc_2 = 0
enable_npu = 1
npu_fps = 10
enable_wrap = 1
buffer_line = 324 ; h / 4
enable_rtsp = 1
enable_rtmp = 0
rotation = 0 ; available value:0 90 180 270

[video.0]
buffer_size = 1492992 ; w * h / 2
buffer_count = 4
enable_refer_buffer_share = 1
stream_type = mainStream
video_type = compositeStream
max_width = 2304
max_height = 1296
width = 2304
height = 1296
rc_mode = CBR
rc_quality = high
src_frame_rate_den = 1
src_frame_rate_num = 25
dst_frame_rate_den = 1
dst_frame_rate_num = 25
target_rate = 0
mid_rate = 1024
max_rate = 2048
min_rate = 0
output_data_type = H.265
smart = close
h264_profile = high
gop = 50
smartp_viridrlen = 25
gop_mode = normalP
stream_smooth = 50
enable_motion_deblur = 1
enable_motion_static_switch = 0
frame_min_i_qp = 26
frame_min_qp = 28
frame_max_i_qp = 51
frame_max_qp = 51
scalinglist = 0

[video.1]
input_buffer_count = 1
buffer_size = 202752 ; w * h / 2
buffer_count = 4
enable_refer_buffer_share = 1
stream_type = subStream
video_type = compositeStream
max_width = 704
max_height = 576
width = 704
height = 576
rc_mode = CBR
rc_quality = high
src_frame_rate_den = 1
src_frame_rate_num = 30
dst_frame_rate_den = 1
dst_frame_rate_num = 30
target_rate = 0
mid_rate = 256
max_rate = 512
min_rate = 0
output_data_type = H.265
smart = close
h264_profile = high
gop = 50
smartp_viridrlen = 25
gop_mode = normalP
stream_smooth = 50
enable_motion_deblur = 1
enable_motion_static_switch = 0
frame_min_i_qp = 26
frame_min_qp = 28
frame_max_i_qp = 51
frame_max_qp = 51
scalinglist = 0

[video.2]
max_width = 576
max_height = 324
width = 576
height = 324

[ivs]
smear = 0
weightp = 0
md = 1
od = 1
md_sensibility = 3 ;available: 1 2 3,max 3

[video.jpeg]
width = 2304
height = 1296
jpeg_buffer_size = 1048576 ; 1024KB
jpeg_qfactor = 70
enable_cycle_snapshot = 0
snapshot_interval_ms = 1000

[isp]
scenario = normal ; normal or custom1
init_form_ini = 1
normal_scene = day
custom1_scene = night
ircut_open_gpio = 58
ircut_close_gpio = 57

; isp.0
[isp.0.adjustment]
contrast    = 50
brightness  = 50
saturation  = 50
sharpness  = 50
fps = 25
hue = 50

[isp.0.exposure]
iris_type = auto
exposure_mode = auto
gain_mode = auto
auto_iris_level = 5
auto_exposure_enabled = 1
audo_gain_enabled = 1
exposure_time = 1/6
exposure_gain = 1

[isp.0.night_to_day]
night_to_day = day
night_to_day_filter_level = 5
night_to_day_filter_time = 5
dawn_time = 07:00:00
dusk_time = 18:00:00
ircut_filter_action = day
over_exposure_suppress = open
over_exposure_suppress_type = auto
fill_light_mode = IR
brightness_adjustment_mode = auto
light_brightness = 1
distance_level = 1

[isp.0.blc]
blc_region = close
blc_strength = 1
wdr = close
wdr_level = 0
hdr = close
hdr_level = 1
hlc = close
hlc_level = 0
dark_boost_level = 0
position_x = 0
position_y = 0
blc_region_width = 120
blc_region_high = 92

[isp.0.white_blance]
white_blance_style = autoWhiteBalance
white_blance_red = 50
white_blance_green = 50
white_blance_blue = 50

[isp.0.enhancement]
noise_reduce_mode = close
denoise_level = 50
spatial_denoise_level = 50
temporal_denoise_level = 50
dehaze = close
dehaze_level = 0
dis = close
gray_scale_mode = [0-255]
distortion_correction = close
ldch_level = 0

[isp.0.video_adjustment]
image_flip = close
scene_mode = indoor
power_line_frequency_mode = PAL(50HZ)

[isp.0.auto_focus]
af_mode = semi-auto
zoom_level = 0
focus_level = 0

; isp.1
[isp.1.adjustment]
contrast    = 50
brightness  = 75
saturation  = 50
sharpness  = 50
fps = 25
hue = 50

[isp.1.exposure]
iris_type = auto
exposure_mode = auto
gain_mode = auto
auto_iris_level = 5
auto_exposure_enabled = 1
audo_gain_enabled = 1
exposure_time = 1/6
exposure_gain = 1

[isp.1.night_to_day]
night_to_day = day
night_to_day_filter_level = 5
night_to_day_filter_time = 5
dawn_time = 07:00:00
dusk_time = 18:00:00
ircut_filter_action = day
over_exposure_suppress = open
over_exposure_suppress_type = auto
fill_light_mode = IR
brightness_adjustment_mode = auto
light_brightness = 1
distance_level = 1

[isp.1.blc]
blc_region = close
blc_strength = 1
wdr = close
wdr_level = 0
hdr = close
hdr_level = 1
hlc = close
hlc_level = 0
dark_boost_level = 0
position_x = 0
position_y = 0
blc_region_width = 120
blc_region_high = 92

[isp.1.white_blance]
white_blance_style = autoWhiteBalance
white_blance_red = 50
white_blance_green = 50
white_blance_blue = 50

[isp.1.enhancement]
noise_reduce_mode = close
denoise_level = 50
spatial_denoise_level = 50
temporal_denoise_level = 50
dehaze = close
dehaze_level = 0
dis = close
gray_scale_mode = [0-255]
distortion_correction = close
ldch_level = 0

[isp.1.video_adjustment]
image_flip = close
scene_mode = indoor
power_line_frequency_mode = PAL(50HZ)

[isp.1.auto_focus]
af_mode = semi-auto
zoom_level = 0
focus_level = 0

[storage]
mount_path = /userdata
free_size_del_min = 500; MB
free_size_del_max = 1000; MB
num_limit_enable = 1; limit by file num

[storage.0]
enable = 0
folder_name = video0
file_format = mp4 ; flv,ts
file_duration = 60
video_quota = 30
file_max_num = 300

[storage.1]
enable = 0
folder_name = video1
file_format = mp4 ; flv,ts
file_duration = 60
video_quota = 30
file_max_num = 300

[storage.2]
enable = 0
folder_name = video2
file_format = mp4 ; flv,ts
file_duration = 60
video_quota = 30
file_max_num = 300

[system.device_info]
deivce_name = RK IP Camera
telecontrol_id = 88
model = RK-003
serial_number = RK-003-A
firmware_version = V0.2.6 build 202108
encoder_version = V1.0 build 202108
web_version = V2.12.2 build 202108
plugin_version = V1.0.0.0
channels_number = 1
hard_disks_number = 1
alarm_inputs_number = 0
alarm_outputs_number = 0
firmware_version_info = CP-3-B
manufacturer = Rockchip
hardware_id = c3d9b8674f4b94f6
user_num = 1

[capability.video]
0 = {"disabled":[{"name":"sStreamType","options":{"subStream":{"sSmart":"close"},"thirdStream":{"sSmart":"close"}},"type":"disabled/limit"},{"name":"sRCMode","options":{"CBR":{"sRCQuality":null}},"type":"disabled"},{"name":"sOutputDataType","options":{"H.265":{"sH264Profile":null}},"type":"disabled"},{"name":"unspport","options":{"iStreamSmooth":null,"sVideoType":null},"type":"disabled"}],"dynamic":{"sSmart":{"open":{"iMinRate":{"dynamicRange":{"max":"iMaxRate","maxRate":1,"min":"iMaxRate","minRate":0.125},"type":"dynamicRange"}}},"sStreamType":{"mainStream":{"iMaxRate":{"options":[256,512,1024,2048,3072,4096,6144],"type":"options"},"sResolution":{"options":["2304*1296","1920*1080","1280*720","960*540","640*360","320*240"],"type":"options"}},"subStream":{"iMaxRate"
1 = :{"options":[128,256,512],"type":"options"},"sResolution":{"options":["704*576","640*480","352*288","320*240"],"type":"options"}},"thirdStream":{"iMaxRate":{"options":[256,512],"type":"options"},"sResolution":{"options":["416*416"],"type":"options"}}}},"layout":{"encoder":["sStreamType","sVideoType","sResolution","sRCMode","sRCQuality","sFrameRate","sOutputDataType","sSmart","sH264Profile","sGOPMode","iMaxRate","iGOP","iStreamSmooth"]},"static":{"iGOP":{"range":{"max":400,"min":1},"type":"range"},"iStreamSmooth":{"range":{"max":100,"min":1,"step":1},"type":"range"},"sFrameRate":{"dynamicRange":{"max":"sFrameRateIn","maxRate":1},"options":["1/16","1/8","1/4","1/2","1","2","4","6","8","10","12","14","16","18","20","25","30"],"type":"options/dynamicRange"},"sH264Profile":{"options":["high","main","baseline"],"type":"options"},"sOutputDataType":{"options"
2 = :["H.264","H.265"],"type":"options"},"sRCMode":{"options":["CBR","VBR"],"type":"options"},"sRCQuality":{"options":["lowest","lower","low","medium","high","higher","highest"],"type":"options"},"sGOPMode":{"options":["normalP","smartP"],"type":"options"},"sSmart":{"options":["open","close"],"type":"options"},"sStreamType":{"options":["mainStream","subStream","thirdStream"],"type":"options"},"sVideoType":{"options":["videoStream","compositeStream"],"type":"options"}}}

[capability.image_adjustment]
0 = {"layout":{"image_adjustment":["iBrightness","iContrast","iSaturation","iSharpness","iHue"]},"static":{"iBrightness":{"range":{"max":100,"min":0,"step":1},"type":"range"},"iContrast":{"range":{"max":100,"min":0,"step":1},"type":"range"},"iHue":{"range":{"max":100,"min":0,"step":1},"type":"range"},"iSaturation":{"range":{"max":100,"min":0,"step":1},"type":"range"},"iSharpness":{"range":{"max":100,"min":0,"step":1},"type":"range"}}}

[capability.image_blc]
0 = {"disabled":[{"name":"sHLC","options":{"open":{"sBLCRegion":null}},"type":"disabled"},{"name":"sBLCRegion","options":{"open":{"iDarkBoostLevel":null,"iHLCLevel":null,"sHLC":null}},"type":"disabled"}],"dynamic":{"sBLCRegion":{"open":{"iBLCStrength":{"range":{"max":100,"min":0,"step":1},"type":"range"}}},"sHDR":{"HDR2":{"iHDRLevel":{"options":[1,2,3,4],"type":"options"}},"close":{"sBLCRegion":{"options":["close","open"],"type":"options"},"sHLC":{"options"
1 = :["close","open"],"type":"options"}}},"sHLC":{"open":{"iDarkBoostLevel":{"range":{"max":100,"min":0,"step":1},"type":"range"},"iHLCLevel":{"range":{"max":100,"min":0,"step":1},"type":"range"}}},"sWDR":{"open":{"iWDRLevel":{"range":{"max":100,"min":0,"step":1},"type":"range"}}}},"layout":{"image_blc":["sHDR","iHDRLevel","sBLCRegion","iBLCStrength","sHLC","iHLCLevel"]},"static":{"sHDR":{"options":["close","HDR2"],"type":"options"}}}

[capability.image_enhancement]
0 = {"dynamic":{"sDehaze":{"open":{"iDehazeLevel":{"range":{"max":10,"min":0,"step":1},"type":"range"}}},"sDistortionCorrection":{"FEC":{"iFecLevel":{"range":{"max":100,"min":0,"step":1},"type":"range"}},"LDCH":{"iLdchLevel":{"range":{"max":100,"min":0,"step":1},"type":"range"}}},"sNoiseReduceMode":{"2dnr":{"iSpatialDenoiseLevel":{"range":{"max":100,"min":0,"step":1},"type":"range"}},"3dnr":{"iTemporalDenoiseLevel":{"range":{"max":100,"min":0,"step":1},"type":"range"}},"mixnr":{"iSpatialDenoiseLevel":{"range":{"max":100,"min":0,"step":1},"type":"range"},"iTemporalDenoiseLevel":{"range":{"max":100,"min":0,"step":1},"type":"range"}}}},"layout"
1 = :{"image_enhancement":["sNoiseReduceMode","iSpatialDenoiseLevel","iTemporalDenoiseLevel","sDehaze","iDehazeLevel","sGrayScaleMode","sDistortionCorrection","iLdchLevel","iFecLevel"]},"static":{"sDIS":{"options":["open","close"],"type":"options"},"sDehaze":{"options":["open","close","auto"],"type":"options"},"sDistortionCorrection":{"options":["LDCH","close"],"type":"options"},"sFEC":{"options":["open","close"],"type":"options"},"sGrayScaleMode":{"options":["[0-255]","[16-235]"],"type":"options"},"sNoiseReduceMode":{"options":["close","2dnr","3dnr","mixnr"],"type":"options"}}}

[capability.image_exposure]
0 = {"dynamic":{"sExposureMode":{"auto":{"iAutoIrisLevel":{"range":{"max":100,"min":0,"step":1},"type":"range"}},"manual":{"sExposureTime":{"options":["1","1/3","1/6","1/12","1/25","1/50","1/100","1/150","1/200","1/250","1/500","1/750","1/1000","1/2000","1/4000","1/10000","1/100000"],"type":"options"},"sGainMode":{"options":["auto","manual"],"type":"options"}}},"sGainMode":{"manual":{"iExposureGain":{"range":{"max":100,"min":1,"step":1},"type":"range"}}}},"layout":{"image_exposure":["sExposureMode","sExposureTime","sGainMode","iExposureGain","iFPS"]},"static":{"sExposureMode":{"options":["auto","manual"],"type":"options"},"iFPS":{"range":{"max":30,"min":0,"step":1},"type":"range"}}}

[capability.image_night_to_day]
0 = {"disabled":[{"name":"sNightToDay","options":{"day":{"iLightBrightness":null,"sFillLightMode":null},"night":{"iDarkBoostLevel":null,"iHDRLevel":null,"iHLCLevel":null,"sHDR":null,"sHLC":"close"}},"type":"disabled"}],"dynamic":{"sNightToDay":{"auto":{"iNightToDayFilterLevel":{"options":[0,1,2,3,4,5,6,7],"type":"options"},"iNightToDayFilterTime":{"range":{"max":10,"min":3,"step":1},"type":"range"}},"schedule":{"sDawnTime":{"input":"time","type":"input"},"sDuskTime":{"input":"time","type":"input"}}},"sOverexposeSuppress":{"open"
1 = :{"sOverexposeSuppressType":{"options":["auto","manual"],"type":"options"}}},"sOverexposeSuppressType":{"manual":{"iDistanceLevel":{"range":{"max":100,"min":0,"step":1},"type":"range"}}}},"layout":{"image_night_to_day":["sNightToDay","iNightToDayFilterLevel","iNightToDayFilterTime","sDawnTime","sDuskTime","sFillLightMode","iLightBrightness"]},"static":{"iLightBrightness":{"range":{"max":100,"min":0,"step":10},"type":"range"},"sNightToDay":{"options":["day","night"],"type":"options"},"sFillLightMode":{"type":"options","options":["IR"]}}}

[capability.image_video_adjustment]
0 = {"layout":{"image_video_adjustment":["sPowerLineFrequencyMode","sImageFlip","iImageRotation"]},"static":{"sImageFlip":{"options":["close","flip","mirror","centrosymmetric"],"type":"options"},"sPowerLineFrequencyMode":{"options":["PAL(50HZ)","NTSC(60HZ)"],"type":"options"},"sSceneMode":{"options":["indoor","outdoor"],"type":"options"},"iImageRotation":{"options":[0,90,180,270],"type":"options"}}}

[capability.image_white_blance]
0 = {"dynamic":{"sWhiteBlanceStyle":{"manualWhiteBalance":{"iWhiteBalanceBlue":{"range":{"max":100,"min":0,"step":1},"type":"range"},"iWhiteBalanceGreen":{"range":{"max":100,"min":0,"step":1},"type":"range"},"iWhiteBalanceRed":{"range":{"max":100,"min":0,"step":1},"type":"range"}}}},"layout":{"image_white_blance":["sWhiteBlanceStyle","iWhiteBalanceRed","iWhiteBalanceGreen","iWhiteBalanceBlue"]},"static":{"sWhiteBlanceStyle":{"options":["manualWhiteBalance","autoWhiteBalance","lockingWhiteBalance","fluorescentLamp","incandescent","warmLight","naturalLight"],"type":"options"}}}

[user.0]
user_name = admin
password = YWRtaW4=
user_level = 1 ; administrator=0 operator=1 user=2

[osd.common]
enable_osd = 1
is_presistent_text = 1
attribute = transparent/not-flashing
font_size = 32
font_color_mode = customize
font_color = fff799
alignment = customize
boundary = 0
font_path = /oem/usr/share/simsun_en.ttf
normalized_screen_width = 704
normalized_screen_height = 480

[osd.0]
type = channelName
enabled = 0
position_x = 1104
position_y = 640
display_text = Camera 01

[osd.1]
type = dateTime
enabled = 1
position_x = 16
position_y = 16
date_style = CHR-YYYY-MM-DD
time_style = 24hour
display_week_enabled = 0

[osd.2]
type = character
enabled = 0
position_x = 0
position_y = 0
display_text = null

[osd.3]
type = character
enabled = 0
position_x = 0
position_y = 0
display_text = null

[osd.4]
type = privacyMask
enabled = 0
position_x = 0
position_y = 0
width = 0
height = 0

[osd.5]
type = privacyMask
enabled = 0
position_x = 0
position_y = 0
width = 0
height = 0

[osd.6]
type = image
enabled = 0
position_x = 16
position_y = 640
image_path = /userdata/image.bmp

[event.regional_invasion]
enabled = 1
position_x = 0
position_y = 0
width = 700
height = 560
proportion = 1
sensitivity_level = 90
time_threshold = 1
rockiva_model_type = small ;big medium  small

[roi.0]
stream_type = mainStream
id = 1
enabled = 0
name = test
position_x = 0
position_y = 0
width = 0
height = 0
quality_level = 3

[roi.1]
stream_type = mainStream
id = 2
enabled = 0
name = test
position_x = 0
position_y = 0
width = 0
height = 0
quality_level = 3

[roi.2]
stream_type = subStream
id = 1
enabled = 0
name = test
position_x = 0
position_y = 0
width = 0
height = 0
quality_level = 3

[roi.3]
stream_type = subStream
id = 2
enabled = 0
name = test
position_x = 0
position_y = 0
width = 0
height = 0
quality_level = 3

[roi.4]
stream_type = thirdStream
id = 1
enabled = 0
name = test
position_x = 0
position_y = 0
width = 0
height = 0
quality_level = 3

[roi.5]
stream_type = thirdStream
id = 2
enabled = 0
name = test
position_x = 0
position_y = 0
width = 0
height = 0
quality_level = 3

[region_clip.1]
enabled = 0
position_x = 0
position_y = 0
width = 640
height = 480

[network.ntp]
enable = 1
refresh_time_s = 60
ntp_server = 119.28.183.184

解释如下:

上述文本中包含了名为 rkipc-300w.ini 的配置文件内容。这个文件包含了各种设置,涵盖了音频、
视频、图像处理、存储、用户权限、OSD(On-Screen Display,屏幕显示)、事件处理、ROI
(Region of Interest,感兴趣区域)等方面的配置。

找到以下代码段:

[video.source]
enable_aiq = 1
enable_vo = 0
vo_dev_id = 3 ; 0 is hdmi, 3 is mipi
enable_ivs = 1
enable_jpeg = 1
enable_venc_0 = 1
enable_venc_1 = 1
enable_venc_2 = 0
enable_npu = 1
npu_fps = 10
enable_wrap = 1
buffer_line = 324 ; h / 4
enable_rtsp = 1
enable_rtmp = 0
rotation = 0 ; available value:0 90 180 270

修改enable_npu = 1enable_npu = 0

即可关闭自带的ai检测功能。

测试:

关闭前:
在这里插入图片描述
关闭后:
在这里插入图片描述

附:关闭ntp服务

[network.ntp]
# enable = 1
enable = 0
refresh_time_s = 60
ntp_server = 119.28.183.184
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xiaolan_2001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值