整理一下實習期間涉及的知識及參考網頁
實習期間由於公司安全規定,程式碼及文件都不能外傳,以下是參考的網頁,留做記錄。
PS:發現了一個chrome外掛TabCopy,可以一鍵複製網頁標題及連結,挺方便的~
一、用FFmpeg API處理音視訊
剛開始參考的雷霄驊大神的部落格,寫的非常詳細清晰,向英年早逝的雷神致敬。
[總結]FFMPEG視音訊編解碼零基礎學習方法 - CSDN部落格
https://blog.csdn.net/leixiaohua1020/article/details/15811977
[總結]視音訊編解碼技術零基礎學習方法 - CSDN部落格
https://blog.csdn.net/leixiaohua1020/article/details/18893769
以下是用到的一些功能
1.融合音視訊
最簡單的基於FFmpeg的封裝格式處理:視音訊複用器(muxer) - CSDN部落格
https://blog.csdn.net/leixiaohua1020/article/details/39802913
2.分離音視訊
最簡單的基於FFmpeg的封裝格式處理:視音訊分離器(demuxer) - CSDN部落格
https://blog.csdn.net/leixiaohua1020/article/details/39802819
3.切割音視訊
FFmpegLib/Cut.c at master · Saqrag/FFmpegLib · GitHub
https://github.com/Saqrag/FFmpegLib/blob/master/src/main/cpp/video_edit/Cut.c
How to cut video with FFmpeg C API - Stack Overflow
https://stackoverflow.com/questions/20856803/how-to-cut-video-with-ffmpeg-c-api
FFmpegVideoCut/ffmpeghelper.cpp at master · wanghuahui/FFmpegVideoCut · GitHub
https://github.com/wanghuahui/FFmpegVideoCut/blob/master/ffmpeghelper/ffmpeghelper/ffmpeghelper.cpp
How to cut video with FFmpeg C API - Stack Overflow
https://stackoverflow.com/questions/20856803/how-to-cut-video-with-ffmpeg-c-api
4.拼接音視訊(只能拼接引數格式都相同的兩個視訊檔案)
ffmpeg實現視訊合併 - CSDN部落格
https://blog.csdn.net/dancing_night/article/details/45724215
ffmpeg - How to use libavformat to concat 2 video files with same codec (re-muxing)? - Stack Overflow
https://stackoverflow.com/questions/16282600/how-to-use-libavformat-to-concat-2-video-files-with-same-codec-re-muxing
5.複製(讀寫)音視訊檔案
最簡單的基於FFMPEG的封裝格式轉換器(無編解碼) - CSDN部落格
https://blog.csdn.net/leixiaohua1020/article/details/25422685
6.將視訊檔案每一幀輸出為圖片
FFmpeg 入門(1):擷取視訊幀 | SamirChen
http://www.samirchen.com/ffmpeg-tutorial-1/
FFmpeg學習一--擷取視訊為圖片 | SAKA'S BLOG
https://rangaofei.github.io/2018/05/17/FFmpeg學習一-擷取視訊為圖片/
TestFFmpeg/tutorial01.c at master · samirchen/TestFFmpeg · GitHub
https://github.com/samirchen/TestFFmpeg/blob/master/tutorial01/tutorial01.c
二、AVFrame與Mat的轉換
流程:視訊解封裝 -> 對每一幀解碼,解碼後的格式位AVFrame -> AVFrame轉Mat -> 對Mat格式的圖片進行操作 -> Mat轉AVFrame -> 編碼,逐幀寫入視訊流 -> 封裝
本來是想和直接用opencv讀寫視訊、對視訊逐幀操作比較速度的,但是速度明顯慢了,大概慢了兩個數量級,記不清了
c++ - How to convert cv::Mat to AVFrame in ffmpeg - Stack Overflow
https://stackoverflow.com/questions/36761173/how-to-convert-cvmat-to-avframe-in-ffmpeg#
How to convert OpenCV's Mat format to FFMPEG's avframe format? - OpenCV Q&A Forum
http://answers.opencv.org/question/173048/how-to-convert-opencvs-mat-format-to-ffmpegs-avframe-format
FFmpeg中資料與OpenCV中Mat資料的轉換 - CSDN部落格
https://blog.csdn.net/u011831771/article/details/78628356
最簡單的基於FFMPEG的轉碼程式 - CSDN部落格
https://blog.csdn.net/leixiaohua1020/article/details/26838535
ffmpeg解碼資料轉為Mat通過opencv函式顯示 - CSDN部落格
https://blog.csdn.net/tkp2014/article/details/46651615
cv::Mat to AvFrame - OpenCV Q&A Forum
http://answers.opencv.org/question/36948/cvmat-to-avframe/
c++ - How to create video using avcodec from jpeg images of type OpenCV::Mat? - Stack Overflow
https://stackoverflow.com/questions/13654789/how-to-create-video-using-avcodec-from-jpeg-images-of-type-opencvmat
三、FFmpeg一些基礎/零碎知識
PS:有些雜亂,之後有時間再修改
ffmpeg3.3新版本AVStream的封裝流引數由codec替換codecpar(解碼) -夏曹俊-51CTO部落格
http://blog.51cto.com/xiacaojun/1958914
對ffmpeg的時間戳的理解筆記 - CSDN部落格
https://blog.csdn.net/TopsLuo/article/details/76239136
ffmpeg原始碼跟蹤之時間基轉換,時間戳比較筆記 - CSDN部落格
https://blog.csdn.net/dancing_night/article/details/46472477
GitHub - yinwenjie/FFmpeg_Tutorial: FFmpeg工具和sdk庫的使用demo
https://github.com/yinwenjie/FFmpeg_Tutorial
c++ - FFMPEG. Read frame, process it, put it to output video. Copy sound stream unchanged - Stack Overflow
https://stackoverflow.com/questions/40800489/ffmpeg-read-frame-process-it-put-it-to-output-video-copy-sound-stream-unchan
opencvideo/opencvideo.c at master · efun100/opencvideo · GitHub
https://github.com/efun100/opencvideo/blob/master/opencvideo.c
GitHub - samirchen/TestFFmpeg: A ffmpeg tutorial.
https://github.com/samirchen/TestFFmpeg
ffmpeg tutorial
http://dranger.com/ffmpeg/ffmpeg.html
FFmpeg資料結構:AVPacket解析 - Brook_icv - 部落格園
https://www.cnblogs.com/wangguchangqing/p/5790705.html
avpicture_fill的實現 - 程式園
http://www.voidcn.com/article/p-aquvaett-zg.html
四、VLFeat提取SIFT特徵
影象檢索(1): 再論SIFT-基於vlfeat實現 - Brook_icv - 部落格園
https://www.cnblogs.com/wangguchangqing/p/9176103.html
SIFT特徵詳解 - Brook_icv - 部落格園
https://www.cnblogs.com/wangguchangqing/p/4853263.html
【特徵匹配】SIFT原理與C原始碼剖析 - 愛程式網
http://www.aichengxu.com/dev/460684.htm
用VLFeat庫進行SIFT特徵提取(C++ 實現) - CSDN部落格
https://blog.csdn.net/lilai619/article/details/50571267
GitHub - vlfeat/vlfeat: An open library of computer vision algorithms
https://github.com/vlfeat/vlfeat
五、OpenCV相關
【OpenCV學習筆記】四、攝像頭/視訊的讀取與寫入 - CSDN部落格
https://blog.csdn.net/abc8730866/article/details/61428922
Homography Examples using OpenCV ( Python / C ++ ) | Learn OpenCV
https://www.learnopencv.com/homography-examples-using-opencv-python-c/
影象處理之特徵提取 - 簡書
https://www.jianshu.com/p/d94e558ebe26
OpenCV: Basic concepts of the homography explained with code
https://docs.opencv.org/3.4/d9/dab/tutorial_homography.html#tutorial_homography_Demo1
六、其他
因為組內的方向是影象分割,主要用的深度學習,所以也學習了一些基於深度學習的目標檢測,主要是看吳恩達的深度學習視訊教程,及經典的目標檢測論文RCNN/SPP Net/Fast-RCNN/Faster-RCNN/Mask-RCNN/DensePose
主要參考我的CSDN收藏
乾貨 | 目標檢測入門,看這篇就夠了(已更完)
https://zhuanlan.zhihu.com/p/34142321
基於深度學習的「目標檢測」演算法綜述
https://zhuanlan.zhihu.com/p/33981103
目標檢測(3)-SPPNet
https://zhuanlan.zhihu.com/p/27485018
Github專案 - DensePose - AIUAI
https://www.aiuai.cn/aifarm278.html
令人拍案稱奇的Mask RCNN
https://zhuanlan.zhihu.com/p/37998710
一文讀懂Faster RCNN
https://zhuanlan.zhihu.com/p/31426458