上结果,使用ASN_SEQUENCE_ADD和ASN_STRUCT_FREE_CONTENTS_ONLY搭配使用。

示例:
asn.1文件

Example 
DEFINITIONS AUTOMATIC TAGS ::= 
BEGIN 

StructWList ::= SEQUENCE OF ListItem 
ListItem ::= INTEGER 
END

操作程序代码

int main()
 {
    ListItem_t *li = nullptr;
   StructWList_t swl = {0};

    swl.list.count = 0;
    swl.list.size = 0;
    li = reinterpret_cast<ListItem_t*>(calloc(1, sizeof *li));
    *li = i;
    ASN_SEQUENCE_ADD(&swl, li);
    ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_StructWList, &swl);
 }

来源:
https://stackoverflow.com/questions/56019134/how-to-correctly-use-and-free-asn1c-sequence-of

#include <chrono>
#include <ctime>
using namespace std::chrono;

system_clock::time_point time_point_now = system_clock::now(); // 获取当前时间点
system_clock::duration duration_since_epoch 
        = time_point_now.time_since_epoch(); // 从1970-01-01 00:00:00到当前时间点的时长
time_t microseconds_since_epoch 
        = duration_cast<microseconds>(duration_since_epoch).count(); // 将时长转换为微秒数
time_t seconds_since_epoch = microseconds_since_epoch / 1000000; // 将时长转换为秒数
std::tm current_time = *std::localtime(&seconds_since_epoch); // 获取当前时间(精确到秒)
time_t tm_microsec = microseconds_since_epoch % 1000; // 当前时间的微妙数
time_t tm_millisec = microseconds_since_epoch / 1000 % 1000; // 当前时间的毫秒数

《孙子从美国来》
update:2021-9-22

转影评:“电视屏幕右边这几个字《孙子从美国来》,我跟老公说:“这绝逼是一骂人的电影,别换台,看看。”好吧,事实证明我又错了”
又名: 当孙悟空遇上蜘蛛侠 / A Grandson from America
《孙子从美国来》,艰难挖到的宝藏电影。接地气,消除国别限制。细水长流,巧妙书写文化碰撞。四两拨千斤,在CCTV6走红。曲江涛导演,罗京民、丁佳明主演,豆瓣8.5分。
老杨头是陕西华县的独居艺人,家中藏有展示皮影戏的全套行当。离家多年的儿子突然领回洋媳妇和洋娃布鲁克斯,老杨头观念受到冲击。还没回过神来,儿子和儿媳又因为工作而将布鲁克斯托付给自己。爷孙有许多迥异的认知,在磨合过程中产生了别样的亲密…

里面最常出现的两个意象,就是孙悟空和蜘蛛侠。一个是中国的英雄,一个是美国的英雄。一个以手办的形式出现,一个以皮影戏的形式出现。然而这么设置是为了产生更多的亮点,不是为了印证水火无法相容。孙子与爷爷有那么多不同的习惯,最后也能成为彼此的羁绊。所以孙悟空为什么一定要和蜘蛛侠打架呢,两个人共同保护地球不好吗?

magnet:?xt=urn:btih:aef1476ea2d42349ea42f16b79464db659c04f87&dn=CHC.A.Grandson.from.America.2012.HDTV.iPad.720p.AAC.x264-CHDPAD

ed2k://|file|孙子从美国来.Grandson.From.The.United.States.2012.HDTV-RMVB.piaohua.(emulefans.com).rmvb|1000743209|787E8A0DEB368990CA87EED6D128E1AB|

Referenced from:http://www.dapenti.com/blog/more.asp?name=xilei&id=159875

故事的一开始,老戏骨罗京民就把我深深的吸引。最初知道罗京民是2006年他出演的康洪雷执导,兰晓龙编剧的军事剧《士兵突击》中许三多的父亲许百顺,以及在2011年上映的《你是我兄弟》剧中扮演的张嘉译国营工厂时期的纪师傅,给了我非常深刻的印象。
  而这次咱们聊的这部电影《孙子从美国来》,是一部以皮影戏的传承保护为生活原型的电影,由曲江涛导演,罗京民和刘天佐主演,在2012年2月2日中国大陆上映的。
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  影片上映时,淳朴、接地气、具有地方特色的罗京民已经是56岁了,以他的年龄在生活中也一定有照顾孙子外孙的经验,但是咱们这部剧中的小主人公可是一个名叫布鲁克斯的美国孩子,本身就有文化差异,再加上孙子也不是亲生的,那就更加引起了我的兴趣。
  好了咱们来进入主题,美国小朋友布鲁克斯的父母都是志愿者,虽然孩子是女方与前夫所生,但也没有影响二人的感情。
  有一天,两口子作为志愿者赴西藏可可西里参加藏羚羊保护行动时,委托罗京民饰演的老杨头来照顾。
  很久没回家的儿子一进门就带了个洋妞和一个拿着蜘蛛侠玩具的洋娃娃,把老杨头惊的一愣。
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  第二天儿子就把布鲁克斯给老杨头留在了家里,还能怎么着,看孩子呗,爷爷对孙子的爱,不管是中国还是美国,都是一样的。
  于是孙悟空和蜘蛛侠大战就这样开始了。
  儿子未婚还带这么大个孩子,有着传统观念的老杨头,怕邻居说闲话,把布鲁克斯关在家里不让出去。由于中西文化的差异,两个人也需要磨合,这可难倒了老杨头。
  习惯用卫生间的孩子,见到了农村的茅房也是不愿意去
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  孩子吵闹着给爷爷要汉堡包,爷爷跑到经常去的小卖部问了问其他人才明白布鲁克斯要的汉堡包是中国的肉夹馍。
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  对于这个来自美国的爱尿床的小孙子,老杨头可谓是特别的上心,每天孤孤单单的,总算是有个解闷的,语言不通怎么办呢?咱可以学嘛,要学就先学教训布鲁克斯的话。
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  朴实的外表、地道的陕西话、愤怒中表现出对孙子的爱,让我看的热泪盈眶。布鲁克斯的出现,让老杨头的生活变的有声有色。当我看完这部电影之后火速赶往很久都没有去的爷爷家,那种滋味真的是不知道该怎么说。
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  当爷孙俩打打闹闹不小心把布鲁克斯的蜘蛛侠弄坏的时候,小孙子生气了,老杨头连夜做了一个皮影蜘蛛侠给他。
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  二人的相处是短暂的,当布鲁克斯的父母要接走他的时候,老杨头给了孩子喜欢的孙悟空皮影,眼中泛着泪花,那种不舍真的是无法用语言表达。布鲁克斯也渐渐依赖上了这个奇怪的爷爷。
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  整个电影的讲述总体围绕了以下几个观点:
  一、爱情无国界,志愿者无国界。
  二、关爱孤寡老人。
  三、弘扬中国传统艺术皮影戏。
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  电影的最后,在那空荡荡的房间里,爷爷梦到了布鲁克斯。
  恰逢过年,儿子带着儿媳和布鲁克斯回来了,一家人其乐融融。
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  《孙子从美国来》孙悟空和蜘蛛侠到底谁更厉害
  记得,没事常回家看看!

Referenced from:https://k.sina.com.cn/article_7270979441_1b162577100100p38t.html?from=ent&subch=film&sudaref=www.google.com&display=0&retcode=0

下载
https://github.com/opencv/opencv/archive/refs/tags/4.5.3.zip

解压

unzip 4.5.3.zip

建目录

cd opencv4.5.3 && mkdir build && cd build

配置

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4.5.3 ..

编译

make -j8

安装

sudo make install

配置lib

sudo vi /etc/ld.so.conf.d/opencv4.5.3.conf

/usr/local/opencv4.5.3/lib

更新lib

sudo ldconfig

另外,如果要编译opencv_world选项的话,在cmake的时候加个参数就好。

cmake -D CMAKE_BUILD_TYPE=RELEASE -D BUILD_opencv_world=ON -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4.5.3 ..

其它的一些参数示例:

     -D WITH_CUDA=ON \

    -D CUDA_ARCH_BIN="5.3" \
    -D CUDA_ARCH_PTX="5.3" \
    -D WITH_CUBLAS=ON \
    -D ENABLE_FAST_MATH=ON \
    -D CUDA_FAST_MATH=ON \
    -D ENABLE_NEON=ON \
    -D WITH_GSTREAMER=ON \
    -D WITH_LIBV4L=ON \
    -D BUILD_opencv_python2=OFF \
    -D BUILD_opencv_python3=ON \
    -D BUILD_TESTS=OFF \
    -D BUILD_PERF_TESTS=OFF \
    -D BUILD_EXAMPLES=OFF  \
    -D WITH_TBB=ON \
    -D BUILD_opencv_world=OFF \
    -D WITH_OPENGL=ON \
    -D WITH_GTK_2_X=ON \
    -D OPENCV_ENABLE_NONFREE=ON \
    -D EIGEN_INCLUDE_PATH="/usr/include/eigen3" \
    -D WITH_XINE=ON \
    -D WITH_GDAL=ON \
    -D WITH_QT=ON \

cmake编译选项(ON是开(机)的意思; OFF是关(机)的意思)

-D CMAKE_BUILD_TYPE=RELEASE

编译模式,release/debug, 默认为release
-D CMAKE_INSTALL_PREFIX=/usr/local

安装路径
-D WITH_TBB=ON #Include Intel TBB support

(Intel开发的并行编程开发工具),默认为off
-D BUILD_TIFF=ON

Build libtiff from source(一种灵活的位图格式),默认为ON
-D WITH_V4L=ON 支持Vedio4Linux(是Linux中关于视频设备的内核驱动,为针对视频设备的应用视频设备的应用程序提供一系列接口函数,这些视频设备包括TV卡、视频捕捉卡和USB摄像头等,对于USB摄像头,其驱动程序中需要提供基本的I/O操作用于open、read、write、close函数的实现),默认为ON
-D INSTALL_C_EXAMPLES=ON Install C examples, 默认为off
-D INSTALL_PYTHON_EXAMPLES=ON Install Python examples, 默认为off
-D BUILD_EXAMPLES=ON Build all examples, 默认为off
-D WITH_QT=ON / #支持QT(c++图像用户界面开发框架,多用于开发GUI),默认为off

-D WITH_GTK=ON 支持跨平台通用图形工具包GTK, 默认为on
-D WITH_OPENGL=ON 支持开放图形库OpenGL,默认为off …
-D OPENCV_GENERATE_PKGCONFIG=ON Linux下我们使用opencv,需要使用pkg-config来进行环境变量的管理,这个软件需要.pc类型的文件作为软件配置信息
生成opencv.pc文件的配置(注意,opencv4生成的文件叫做opencv4.pc)

Referenced from:https://blog.csdn.net/zhizhengguan/article/details/107540971

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4.5.3 -D OPENCV_EXTRA_MODULES=../opencv_contrib/modules -D BUILD_EXAMPLES=ON -D WITH_VA=ON ..

下载

wget https://imagemagick.org/download/ImageMagick.tar.gz
tar xvf ImageMagick.tar.gz
cd ImageMagick-7.1.0-8/
./configure
ImageMagick 7.1.0-8 is configured as follows. Please verify that this
configuration matches your expectations.

Host system type: x86_64-pc-linux-gnu
Build system type: x86_64-pc-linux-gnu

                  Option                        Value
------------------------------------------------------------------------------
Shared libraries  --enable-shared=yes        yes
Static libraries  --enable-static=yes        yes
Build utilities   --with-utilities=yes        yes
Module support    --with-modules=no        no
GNU ld            --with-gnu-ld=yes        yes
Quantum depth     --with-quantum-depth=16    16
High Dynamic Range Imagery
                  --enable-hdri=yes        yes

Install documentation:                yes

Memory allocation library:
  JEMalloc          --with-jemalloc=no        no
  TCMalloc          --with-tcmalloc=no        no
  UMem              --with-umem=no        no

Delegate library configuration:
  BZLIB             --with-bzlib=yes        yes
  Autotrace         --with-autotrace=no        no
  DJVU              --with-djvu=yes        no
  DPS               --with-dps=yes        no
  FFTW              --with-fftw=no        no
  FLIF              --with-flif=yes        no
  FlashPIX          --with-fpx=yes        no
  FontConfig        --with-fontconfig=yes    yes
  FreeType          --with-freetype=yes        yes
  Ghostscript lib   --with-gslib=no        no
  Graphviz          --with-gvc=yes        no
  HEIC              --with-heic=yes        no
  JBIG              --with-jbig=yes        yes
  JPEG v1           --with-jpeg=yes        yes
  JPEG XL           --with-jxl=no        no
  LCMS              --with-lcms=yes        no
  LQR               --with-lqr=yes        no
  LTDL              --with-ltdl=no        no
  LZMA              --with-lzma=yes        yes
  Magick++          --with-magick-plus-plus=yes    yes
  OpenEXR           --with-openexr=yes        no
  OpenJP2           --with-openjp2=yes        no
  PANGO             --with-pango=yes        yes
  PERL              --with-perl=no        no
  PNG               --with-png=yes        yes
  RAQM              --with-raqm=yes        no
  RAW               --with-raw=yes        no
  RSVG              --with-rsvg=no        no
  TIFF              --with-tiff=yes        yes
  WEBP              --with-webp=yes        no
  WMF               --with-wmf=no        no
  X11               --with-x=            yes
  XML               --with-xml=yes        yes
  ZIP               --with-zip=yes        no
  ZLIB              --with-zlib=yes        yes
  ZSTD              --with-zstd=yes        no

可选
sudo apt-get install libpng-dev libjpeg-dev

make && sudo make install
convert --version

Version: ImageMagick 7.1.0-8 Q16-HDRI x86_64 2021-09-18 https://imagemagick.org
Copyright: (C) 1999-2021 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP(4.5) 
Delegates (built-in): bzlib fontconfig freetype jbig jng jpeg lzma pangocairo png tiff x xml zlib
Compiler: gcc (9.3)

查看支持的文件格式
convert -list format

   Format  Mode  Description
-------------------------------------------------------------------------------
      3FR  r--   Hasselblad CFV/H3D39II
      3G2  r--   Media Container
      3GP  r--   Media Container
        A* rw+   Raw alpha samples
      AAI* rw+   AAI Dune image
       AI  rw-   Adobe Illustrator CS2
     APNG  rw+   Animated Portable Network Graphics
      ART* rw-   PFS: 1st Publisher Clip Art
      ARW  r--   Sony Alpha Raw Image Format
   ASHLAR* -w+   Image sequence laid out in continuous irregular courses
      AVI  r--   Microsoft Audio/Visual Interleaved
      AVS* rw+   AVS X image
        B* rw+   Raw blue samples
      BGR* rw+   Raw blue, green, and red samples
     BGRA* rw+   Raw blue, green, red, and alpha samples
     BGRO* rw+   Raw blue, green, red, and opacity samples
      BIE* rw-   Joint Bi-level Image experts Group interchange format (2.1)
      BMP* rw-   Microsoft Windows bitmap image

。。。

转换图片格式
将文件QRcode.png转换成jpeg格式

convert QRcode.png QRcode.jpeg