网站开发需要什么软件有哪些,沈阳京科医院怎么样,开发app下载,杭州哪家做网站好嵌入式物联网常用90款传感器开发例程。链接#xff1a;https://pan.baidu.com/s/1oisHMZXDzKqa4EspY83V-A?pwdo5f4 1. 介绍
Ubuntu 使用手册是针对 Firefly 官方发布的 Ubuntu 系统固件特性所编写#xff0c;适用于 Ubuntu Desktop 与 Minimal 系统#xff0c;部分与 UI 显…嵌入式物联网常用90款传感器开发例程。链接https://pan.baidu.com/s/1oisHMZXDzKqa4EspY83V-A?pwdo5f4 1. 介绍
Ubuntu 使用手册是针对 Firefly 官方发布的 Ubuntu 系统固件特性所编写适用于 Ubuntu Desktop 与 Minimal 系统部分与 UI 显示相关的介绍只针对 Desktop 系统。 Ubuntu Desktop 系统特点如下 桌面环境采用 LXDELubuntu Firefly 定制主题简洁美观。(Ubuntu 20.04 采用 LXQt) Xserver 使用 GPU RGA 进行 2D 加速运行流畅占用 CPU 资源少。 针对嵌入式平台精简系统服务。 提供基于 Arm Mali GPU 的 OpenGL、OpenCL 支持。 提供基于 Rockchip VPU Mpp 的视频硬编解码支持。 适配 QT、Docker、Electron 等开发框架。 提供一系列接口以操作板载资源设备。 系统采用 overlayfs 文件系统支持导出 rootfs二次打包恢复出厂设置等功能。
Ubuntu Minimal 系统特点如下 没有桌面环境占用资源少在简化网络管理之后只需 40M 内存。 针对嵌入式平台精简系统服务。 适配 QT、Docker、Electron 等开发框架。 提供一系列接口以操作板载资源设备。 系统采用 overlayfs 文件系统支持导出 rootfs二次打包恢复出厂设置等功能。
2. 显示版本信息 ffgo
通过 Firefly 提供的 ffgo 命令可以方便的查看固件信息便于开发者调试以及定位问题。
当用户需要向 Firefly 反馈信息时需要附上 ffgo version 显示的版本信息。
rootfirefly:~# ffgo
Usage:ffgo : show this usageffgo update: update ffgoffgo version: get versionffgo cmdlist: get support cmd listffgo [cmd]: run cmd in cmd listrootfirefly:~# ffgo update
update success
rootfirefly:~# ffgo version
OS: Ubuntu 18.04.5 LTS
MODEL: Firefly RK3566-ROC-PC HDMI(Linux)
FIREFLY: v2.04-1-g618089a
DATE: 20210316-1035
KERNEL: Linux version 4.19.172 (liaoxttchip16) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05), GNU ld (Linaro_Binutils-2017.05) 2.27.0.20161019) #107 SMP Mon Apr 19 09:01:323. 更换设备开机和桌面 LOGO 开机 LOGO
开机 LOGO 是存放在 SDK/kernel 里面的修改完之后重新编译 kernel。
linux-sdk/kernel/logo.bmp
linux-sdk/kernel/logo_kernel.bmp注意logo.bmp 与 logo_kernel.bmp 应为一样的图片。 桌面 LOGO
以下为 Ubuntu 18.04 LXDE 桌面在更换 LOGO 后重启系统
/usr/share/lubuntu/
├── images
│ └── lubuntu-ff-logo.png # 桌面左上角的小图标
└── wallpapers└── firefly-default-wallpaper.png # 桌面壁纸Ubuntu 20.04 桌面系统直接在桌面设置更换即可。
4. 多屏与旋转
屏幕的旋转、多个屏幕的位置摆放、拓展与复制等均可在系统的显示设置中修改
设置的名称一般叫做“Monitor Settings”或者“Display”
如果使用了触摸屏多屏显示或旋转时可能会出现问题下面介绍解决方法 画面旋转了但触摸还是原来的方向
需要将触摸也旋转过来首先使用xinput命令查看输入设备
rootfirefly:~# xinput
⎡ Virtual core pointer id2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id4 [slave pointer (2)]
⎜ ↳ PixArt USB Optical Mouse id7 [slave pointer (2)]
⎜ ↳ himax-touchscreen id10 [slave pointer (2)]
⎣ Virtual core keyboard id3 [master keyboard (2)]↳ Virtual core XTEST keyboard id5 [slave keyboard (3)]↳ adc-keys id6 [slave keyboard (3)]↳ rk805 pwrkey id8 [slave keyboard (3)]↳ fe6e0030.pwm id9 [slave keyboard (3)]↳ himax-touchscreen id11 [slave keyboard (3)]在Virtual core pointer中可以看到触摸屏设备是himax-touchscreenid 为 10
然后修改/etc/X11/xorg.conf.d/05-touchscreen.conf为以下内容
Section InputClassIdentifier ff_touchscreenMatchProduct himax-touchscreenDriver libinputOption CalibrationMatrix 1 0 0 0 1 0 0 0 1
EndSectionIdentifier 是名称可以随意起一个
MatchProduct 需要设置为刚才找到的触摸屏设备名称
重点是 Option “CalibrationMatrix”
正常情况下是1 0 0 0 1 0 0 0 1
向左旋转 90 度则应该设置为0 -1 1 1 0 0 0 0 1
向右旋转 90 度则应该设置为0 1 0 -1 0 1 0 0 1
上下颠倒旋转 180 度则应该设置为-1 0 1 0 -1 1 0 0 1如果有多个触摸屏在文件中添加多个 InputClass 即可
保存文件后重启生效 触摸一个屏幕但结果却反馈到了另一个屏幕
这是因为触摸输入和屏幕输出没有匹配首先同样用xinput查看输入设备假设依然是himax-touchscreenid 10
再使用xrandr命令查看显示设备
rootfirefly:~# xrandr
Screen 0: minimum 320 x 200, current 2720 x 1280, maximum 8192 x 8192
HDMI-1 connected primary 1920x108000 (normal left inverted right x axis y axis) 0mm x 0mm1920x1080 60.00* 59.94 1920x1080i 60.00 59.94 ............800x600 60.32 720x480 60.00 60.00 59.94 59.94 59.94
DSI-1 connected 800x128019200 (normal left inverted right x axis y axis) 0mm x 0mm800x1280 59.98*可以看到有两个屏幕HDMI-1 和 DSI-1而himax-touchscreen就是 DSI-1然后进行映射执行
xinput map-to-output 10 DSI-110 就是himax-touchscreen的 id将它映射到 DSI-1 上
此时查看触摸是否正常确认无误后创建一个新文件/etc/X11/Xsession.d/90-touchscreen-map将映射命令写入这个文件来持久化设置
5. 恢复出厂设置
Firefly Ubuntu 支持恢复出厂设置。
注意此出厂设置表示恢复为设备最后一次升级固件之后的初始状态。
rootfirefly:~# recovery
Usage: update optionOptions are:ota | update [path]:update firmware, if no path, use default path/userdata/update.img/sdcard/update.imgfactory | reset:reset to factory使用 recovery reset 可以恢复到出厂设置。
6. 开机自启动程序
Firefly Ubuntu18.04 Desktop 可以使用以下方法设置开机自启动程序不过需要注意操作权限和当前环境变量
$ vim /home/firefly/.config/lxsession/Lubuntu/autostart
/bin/mkdir /home/firefly/ssddd每个命令使用 开头以上面的例子为例会创建 /home/firefly/ssddd 目录。
Firefly Ubuntu20.04 Desktop 中在 LXQt 主菜单中依次点击 Preferences LXQt Setings Session Settings在弹出的窗口中点击 Autostart 页面来添加自启动程序
也可以直接在 /etc/xdg/autostart/ 文件夹下直接添加需要自启动程序的 .desktop 文件
7. 使用root登录系统界面 autologin-userroot
rootfirefly:~# cat /etc/lightdm/lightdm.conf.d/20-autologin.conf
[Seat:*]
user-sessionLubuntu
autologin-userroot8. 屏幕键盘
官方的 Ubuntu 系统中自带屏幕键盘可以在菜单栏中点击打开 9. 声音配置
设备一般都有 2 个或以上的音频设备。常见的是耳机和 HDMI 这两个设备的音频输出。下面是音频设置的例子供用户参考。
9.1. 从命令行指定音频设备
系统自带的音频文件在 /usr/share/sound/alsa/ 目录中播放前请先查看声卡设备
rootfirefly:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rockchiphdmi [rockchip,hdmi], device 0: fe400000.i2s-i2s-hifi i2s-hifi-0 [fe400000.i2s-i2s-hifi i2s-hifi-0]Subdevices: 1/1Subdevice #0: subdevice #0
card 1: rockchiprk809co [rockchip,rk809-codec], device 0: fe410000.i2s-rk817-hifi rk817-hifi-0 [fe410000.i2s-rk817-hifi rk817-hifi-0]Subdevices: 1/1Subdevice #0: subdevice #0然后指定声卡播放音频其中声卡 card1 的设备 0 对应的是耳机口card0 的设备 0 对应的是 HDMI。一般播放音频命令是 aplay -Dhw:0,0 Fornt_Center.wav但系统自带的音频文件是单声道的所以为了防止播放失败可以按照下面的命令进行播放
#选择耳机口输出音频文件
rootfirefly:/usr/share/sounds/alsa# aplay -Dplughw:1,0 Front_Center.wav
Playing WAVE Front_Center.wav : Signed 16 bit Little Endian, Rate 48000 Hz, Mono#选择 HDMI 输出音频文件
rootfirefly:/usr/share/sounds/alsa# aplay -Dplughw:0,0 Front_Center.wav
Playing WAVE Front_Center.wav : Signed 16 bit Little Endian, Rate 48000 Hz, Mono9.2. 在图形界面中选择音频设备
在图形界面中播放准备好的音频文件然后点击声音图标打开 Sound Setting选择到 Configuration 。可以看到两个声卡设备例如设置为 HDMI 输出音频则把 HDMI 的声卡设备选择为 Output另一个声卡设置为 Off。如果 HDMI 无声或者声音小可以试试按 HDMI 屏上的物理按键调高音量 10. 串口
设备上的串口分两种一种是普通串口另外一种是通过转换芯片把SPI转换而成的串口。转换而成的串口和普通串口功能完全一致但是需要注意它们的设备文件名是不一样的。下面是两者的区别:
# 普通串口
rootfirefly:~# ls /dev/ttyS*
ttyS0 ttyS1 ttyS2 ttyS3# SPI转串口
rootfirefly:~# ls /dev/ttysWK*
ttysWK0 ttysWK1 ttysWK2 ttysWK310.1. 设置波特率
以 ttyS4 为例查看串口波特率命令
rootfirefly:~# stty -F /dev/ttyS4
speed 9600 baud; line 0;
-brkint -imaxbel设置波特率命令
# 设置波特率为 115200
rootfirefly:~# stty -F /dev/ttyS4 ospeed 115200 ispeed 115200 cs8# 查看确认是否已经修改
rootfirefly:~# stty -F /dev/ttyS4
speed 115200 baud; line 0;
-brkint -imaxbel
rootfirefly:~#10.2. 关闭回显
在做环回收发测试的时候回显功能会影响到我们的测试结果所以在环回测试或者其他特殊情况下需要关闭回显。以下是关闭回显的命令
# 关闭回显示
rootfirefly:~# stty -F /dev/ttyS4 -echo -echoe -echok# 查看所有功能的配置检查是否已经关闭。“-” 号代表该功能已经关闭
rootfirefly:~# stty -F /dev/ttyS4 -a | grep echo
isig icanon iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc10.3. 发送接收原始数据
在实际应用中实际发送数据和我们希望发送的数据可能存在差别例如多了回车或者其他特殊字符。利用 stty 可以把发送接收设置成 raw 模式确保发送接收的是原始数据以下是设置命令
rootfirefly:~# stty -F /dev/ttyS4 raw10.4. 工作模式
串口有 2 种工作模式分别是中断模式和 DMA 模式。
10.4.1. 中断模式
内核默认把串口配置成中断模式所以不需要做任何修改。中断模式下传输速率比较快但是在传大量数据的时候很容易丢包或者出错所以当数据量比较大的时候请不要使用中断模式。
10.4.2. DMA 模式
DMA 模式主要是传输大量数据的时候使用。内核会为串口提供一个缓存空间接收数据来尽量降低串口传输的丢包率。
注意 缓存空间限默认大小为 8K 如果一次传输超过缓存大小就会丢包所以使用 DMA 模式的话需要发送端需要分包发送。
设备树文件配置
uart4 {status okay;dmas dmac_peri 8, dmac_peri 9;dma-names tx, rx;
};DMA 模式并不能提高传输速率相反因为需要缓存传输速率会有所下降所以如果不是需要传输大量数据的话不要使用 DMA 模式。
10.5. 流控
不管是中断模式还有 DMA 模式都无法保证数据传输万无一失因为长时间传输大量数据的时候 DDR、CPU 变频或者占用率过高都可能导致上层处理数据不及时导致丢包这个时候就需要是用流控了。流控分两种一种是软件流控另一种为硬件流控下面只介绍硬件流控的使用。
10.5.1. 硬件支持
硬件流控需要有硬件支持设备的串口 CTX 和 RTX 脚需要和远端设备相连。
注意 设备不是所有串口都支持硬件流控请先从原理图上确认硬件是否支持。
10.5.2. 设备树文件配置 RK3568
uart3: serialff1b0000 {compatible rockchip,rk3568-uart, snps,dw-apb-uart;reg 0x0 0xff1b0000 0x0 0x100;clocks cru SCLK_UART3, cru PCLK_UART3;clock-names baudclk, apb_pclk;interrupts GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH 0;reg-shift 2;reg-io-width 4;pinctrl-names default;pinctrl-0 uart3_xfer uart3_cts uart3_rts;status disabled;
};RK3399
uart3: serialff1b0000 {compatible rockchip,rk3399-uart, snps,dw-apb-uart;reg 0x0 0xff1b0000 0x0 0x100;clocks cru SCLK_UART3, cru PCLK_UART3;clock-names baudclk, apb_pclk;interrupts GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH 0;reg-shift 2;reg-io-width 4;pinctrl-names default;pinctrl-0 uart3_xfer uart3_cts uart3_rts;status disabled;
};RK3288
uart4: serialff1c0000 {compatible rockchip,rk3288-uart, snps,dw-apb-uart;reg 0x0 0xff1c0000 0x0 0x100;interrupts GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH;reg-shift 2;reg-io-width 4;clocks cru SCLK_UART4, cru PCLK_UART4;clock-names baudclk, apb_pclk;pinctrl-names default;
- pinctrl-0 uart4_xfer;pinctrl-0 uart4_xfer uart4_cts uart4_rts;status disabled;
};10.5.3. 应用层设置
上层也需要打开流控的设置这里介绍 stty 如何打开流控如果你使用的是其他应用程序请从应用中打开流控。
# 打开流控
rootfirefly:~# stty -F /dev/ttyS4 crtscts# 检测流控是否打开,“-” 号代表该功能已经关闭
rootfirefly:~# stty -F /dev/ttyS4 -a | grep crtscts
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal crtscts11. 视频硬件编解码支持
RK3568/RK3566/RK3399/RK3288 集成的 VPU 具有优秀的视频编解码能力Mpp 是 Rockchip 为 VPU 提供的一套视频编解码的 api, 并且基于 mpp。Rockchip 提供了一套 gstreamer 的编解码插件。用户可以根据自己的需求基于 gstreamer 来做视频编解码的应用或者直接调用 mpp来实现硬件的编解码加速。
系统提供了一个测试视频文件位于 /usr/local/test.mp4测试文件为 1080P, 24Fps, H264 编码, Mp4 格式。
可以通过一下几种方式验证和开发视频编解码相关应用。
11.1. Gstreamer Ubuntu 16.04 下gstreamer 已经安装在 /opt/ 目录下。 Ubuntu 18.04 和 20.04 下gstreamer 已经安装到系统中。
/usr/local/bin/h264dec.sh 测试硬件 H264 解码。
/usr/local/bin/h264enc.sh 测试硬件 H264 编码。
用户可以参照这两个脚本配置自己的 gstreamer 应用。
11.2. Mpv
系统提供的Mpv播放器可以直接调用 rkmpp 解码插件。
11.3. FFmpeg
FFmpeg 对于 Rockchip 暂时只支持通过 Mpp 实现硬件解码暂时没有硬件编码的支持。
Firefly Ubuntu 已经安装了 FFmpeg用户可以直接使用。 确认rkmpp解码器
$ ffmpeg -decoders | grep rkmppV..... h264_rkmpp h264 (rkmpp) (codec h264)V..... hevc_rkmpp hevc (rkmpp) (codec hevc)V..... vp8_rkmpp vp8 (rkmpp) (codec vp8)V..... vp9_rkmpp vp9 (rkmpp) (codec vp9)测试命令
$ ffmpeg -y -c:v h264_rkmpp -i /usr/local/test.mp4 -an output.yuv特别注意 FFmpeg h264_rkmpp 解码获得的是 AV_PIX_FMT_DRM_PRIME也就是 DRM 帧数据如果是基于 drm 显示可以直接输出帧否则需要用 hwdownload 进行转换。
更多内容可以参考 FFmpeg 官网。
11.4. Mpp Ubunut 系统下 mpp 相关dev包都已经安装到系统中。 更多相关资料,可参考 linux-sdk/docs/Linux/Multimedia 下的相关文档。
12. OpenGL-ES
RK3568/RK3566/RK3399/RK3288 支持 OpenGL ES1.1/2.0/3.0/3.1。
Firefly Ubuntu 已经提供了完整的 OpenGL-ES 支持。 测试命令
$ sudo test_glmark2_normal.shwebGL 支持
在 Chromium 浏览器中 在地址栏输入chrome://gpu 可以查看 chromium 下硬件加速的支持。
注意: EGL 是用arm 平台上 OpenGL 针对 x window system 的扩展功能等效于 x86 下的 glx 库。 由于 Xorg 使用的 Driver modesettings 默认会加载 libglx.so (禁用 glx 会导致某些通过检测 glx 环境的应用启动失败)libglx.so 会搜索系统中的 dri 实现库。但是 RK3568/RK3566/RK3399/RK3288 Xorg 2D 加速是直接基于 DRM 实现 并未实现 dri 库所以启动过程中libglx.so 会报告如下的错误。 (EE) AIGLX error: dlopen of /usr/lib/aarch64-linux-gnu/dri/rockchip_dri.so failed这个对系统运行没有任何影响不需要处理。 基于同样的道理某些应用启动过程中也会报告如下错误不用处理对应用的运行不会造成影响。 libGL error: unable to load driver: rockchip_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: rockchipFirefly 之前发布的某些版本的 Ubuntu 软件默认关闭了加载 libglx.so在某些情况下运行某些应用程序会出现下述错误 GdkGLExt-WARNING **: Window system doesnt support OpenGL. 修正的方法如下 删除 /etc/X11/xorg.conf.d/20-modesetting.conf 中一下三行配置。 Section ModuleDisable glx
EndSection13. OpenCL
Firefly Ubuntu 已经添加了 opencl1.2 支持可以运行系统内置的 clinfo 获取平台 opencl 相关参数。
fireflyfirefly:~$ clinfo
Platform #0Name: ARM PlatformVersion: OpenCL 1.2 v1.r14p0-01rel0-git(966ed26).f44c85cb3d2ceb87e8be88e7592755c3Device #0Name: Mali-T860Type: GPUVersion: OpenCL 1.2 v1.r14p0-01rel0-git(966ed26).f44c85cb3d2ceb87e8be88e7592755c3Global memory size: 1 GB 935 MB 460 kBLocal memory size: 32 kBMax work group size: 256Max work item sizes: (256, 256, 256)
…14. FFMedia
14.1. 介绍
ffmedia 是一套基于 Rockchip Mpp/RGA 开发的视频编解码框架。支持音频aac编解码。ffmedia 一共包含以下单元 输入源单元 VI Camera: 支持 UVC Mipi CSI RTSP Client: 支持tcp、udp和多播协议 RTMP Client: 支持拉流和推流 File Reader支持 mkv、mp4、flv文件读入及裸流等文件读入 Memory Reader: 支持从内存读取数据 处理单元 VP: MppDec: 视频解码支持 H264,H265,MJpeg MppEnc: 视频编码支持 H264,H265 RGA图像合成缩放裁剪格式转换 AacDec: aac音频解码和播放 AacEnc: aac音频编码 输出单元 VO DRM Display: 基于 libdrm 的显示模块 Renderer Video: 使用gles渲染视频基于libx11窗口显示可扩展其他窗口显示 RTSP Server: RTMP Server: 支持推流 File Writer: 支持mkv、mp4、flv及裸流等文件保存 pybind11 ff_pymedia: 创建vi、vo、vp等的c代码的Python绑定以提供python调用vi、vo、vp等c模块的python接口
源码仓库https://gitlab.com/firefly-linux/ffmedia_release
14.2. 编译测试
# 获取源码
git clone https://gitlab.com/firefly-linux/ffmedia_release# 安装所需环境
apt install gcc g make cmake
apt install -y libasound2-dev libopencv-dev libdrm-dev libfdk-aac-dev# 如果需要编译python接口库并系统默认python是3.8则安装3.8的软件包
apt install -y python3.8-dev python3.8-venv# 编译
cd ff_media
mkdir build; cd build
cmake ../
make# 运行 demo
## 直接运行 demo 可以查看帮助信息Firefly FFMedia: v2.1.2
./demo: invalid option -- h
INFO: ff_media: usage: Usage: ./demo Input source [Options]Options:
-i, --input Input image size
-o, --output Output image size, default same as input
-a, --inputfmt Input image format, default MJPEG
-b, --outputfmt Output image format, default NV12
-c, --count Instance count, default 1
-d, --drmdisplay Drm display, set display plane, set 0 to auto find plane, default disabled
-x, --x11display X11 window displays, render the video using opengl. default disabled
-z, --zpos Drm display plane zpos, default auto select
-e, --encodetype Encode encode, set encode type, default disabled
-f, --file Enable save source output data to file, set filename, default disabled
-p, --port Enable push stream, default rtsp stream, set push port, depend on encode enabled, default disabled--push_type Set push stream type, default rtsp. e.g. --push_type rtmp
--rtsp_transport Set the rtsp transport type, default udp.e.g. --rtsp_transport tcp | --rtsp_transport multicast
-m, --enmux Enable save encode data to file, Enable package as mp4, mkv, or raw stream files depending on the file name suffixdefault disabled. e.g. -m out.mp4 | -m out.mkv | -m out.yuv
-M, --filemaxframe Set the maximum number of frames that can be saved. The default number is unlimited
-s, --sync Enable synchronization module, default disabled. Enable the default audio.e.g. -s | --syncvideo | --syncabs
-A, --aplay Enable play audio, default disabled. e.g. --aplay plughw:3,0
-r, --rotate Image rotation degree, default 00: none1: vertical mirror2: horizontal mirror90: 90 degree180: 180 degree270: 270 degree## 示范输入是分辨率为 1080p 的 rtsp 摄像头把解码图像缩放为 720p 并且旋转 90 度输出到显示器上。
./demo rtsp://admin:firefly123168.168.2.143 -o 1280x720 -d 0 -r 9015. RGA
Firefly Ubuntu 已经添加了 RGA 支持 , 本文针对用户态接口librga进行说明。
15.1. 获取版本信息
rootfirefly:/usr/lib/aarch64-linux-gnu# strings librga.so |grep rga_api |grep version15.2. 使用流程说明
申请内存空间-输入图片数据-获取buffer_handle-包装buffer_handle-操作图片数据-输出图片数据
15.3. 申请内存空间的三种方法 molloc 函数原型void *malloc(size_t size) 优点简单方便兼容性好 缺点速度慢 dma_buf_alloc 函数原型: int dma_buf_alloc(const char *path, size_t size, int *fd, void **va) 优点内存共享共享节点在/dev/dma_heap/* 速度快 缺点只能申请4G以下的内存 drm_buf_alloc 函数原型void *drm_buf_alloc(int TexWidth, int TexHeight, int bpp, int *fd, int *handle, size_t *actual_size, int flags0) 优点内存共享速度快 缺点需要额外安装libdrm库
15.4. 操作图片数据的接口 //图像拷贝(copy)imcopy(rga_buffer_t src,rga_buffer_t dst);//图像缩放(resize)imresize(rga_buffer_t src,rga_buffer_t dst);//图像剪切(corp)imcrop(rga_buffer_t src,rga_buffer_t dst,im_rect im_src_rect);//图像旋转(rotate 90/180/270)imrotate(rga_buffer_t src,rga_buffer_t dst,RgaRotate rotation);//图像翻转(flipH/V)imflip(rga_buffer_t src,rga_buffer_t dst,IM_USAGE FLIP);//图像平移(translate)imtranslate(rga_buffer_t src,rga_buffer_t dst,int x,int y);//图像融合(blend)imblend(rga_buffer_t src,rga_buffer_t dst);//图像不同的色彩空间进行转换(cvtcolor)imcvtcolor(rga_buffer_t src,rga_buffer_t dst,int src_format,int dst_format);//图像填充(fillblue/green/red)imfill(rga_buffer_t dst,im_rect im_dst_rect, 1);