1. 程式人生 > >整理一下實習期間涉及的知識及參考網頁

整理一下實習期間涉及的知識及參考網頁

實習期間由於公司安全規定,程式碼及文件都不能外傳,以下是參考的網頁,留做記錄。

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