折腾WSL(Windows Subsystem For Linux)
写在前面
只是一些记录,作为参考。WSL可以用opencv读图并显示视频,似乎不支持摄像机。
1. win10安装UBuntu20.04
网上好多文章,直接下载安装Ubuntu20.04,选开发者选项。参考:
https://zhuanlan.zhihu.com/p/62658094.
2.安装和卸载opencv4.4
源码安装: 安装依赖项,新建build,cmake, make -j4, make install。卸载:make uninstall,make distclean(删除build目录)。
关键cmake选项记录可能是
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_QT=OFF -D WITH_V4L=ON -D CMAKE_SHARED_LINKER_FLAGS=-Wl,-Bsymbolic …
直接复制网页代码,要注意空格。否则安装完opencv就可以了,全文完。
参考: 1.https://blog.csdn.net/public669/article/details/99044895.
2.https://blog.csdn.net/qq_36486890/article/details/97511295.
3.https://blog.csdn.net/weixin_45617478/article/details/102632088.
3.输出图片,安装VcXsrv与XLaunch
输出图像显示需要另外装VcXsrv与XLaunch,修改~/.bashrc
参考: 1.https://www.cnblogs.com/andrewwang/p/11088163.html.
2.https://www.jianshu.com/p/c05af6bc604d.
4.安装和卸载ffmpeg
安装原因是因为无法读入摄像头和视频,上网找了
一些资料认为是ffmpeg没安装。现在认为是WSL不支持和输入视频路径错误。
参考: 1.https://blog.csdn.net/lingzhaoli/article/details/78711445.
2.https://blog.csdn.net/weixin_43793181/article/details/103182517.
源码安装:configure, make, make install, 修改/etc/profile 和 /etc/ld.so.conf。卸载make uninstall,删除/usr/local/ffmpeg目录所有东西。
因为opencv make出了问题
/usr/bin/ld: /usr/local/lib/libavcodec.a(cavsdsp.o): relocation R_X86_64_PC32 against symbol `ff_pw_5’ can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make[2]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/build.make:252: lib/libopencv_videoio.so.4.4.0] Error 1
make[1]: *** [CMakeFiles/Makefile2:2537: modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
反复卸载安装ffmpeg和opencv都不行,继续找了其他资料,换了ffmpeg各种configure配置,安装一些依赖项,跳过一些依赖项,删除文件删除连接重装opencv后可以make了。。。如果还不行可以考虑卸载重来了。。。
关键configure配置可能是
./configure --prefix=/usr/local/ffmpeg --enable-nonfree --enable-pic --enable-shared
参考: 3.https://www.cnblogs.com/dxscode/p/12073566.html.
5.换源
安装的时候可以换阿里源,清华源等,可以快一些,网上一堆。一般用的x86 x64的源,但如果是TX2这种ARM设备,要注意用portable或arm。
6.路径记录
C:\Users\xxxxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\rootfs
可以查看linux下面的东西
cd /mnt/e
linux可以进入windows e盘
7.WSL似乎不支持摄像机
至201114折腾暂告一段落,发现暂不支持摄像机。。。不知道有没其他人解决
参考:
1.https://docs.microsoft.com/zh-cn/windows/wsl/.
2.https://github.com/microsoft/WSL/issues?q=camera.
3.https://blog.csdn.net/qq_33446100/article/details/99703836.