当前位置: 首页 > news >正文

vs网站制作教程百度手机版网址

vs网站制作教程,百度手机版网址,国外免费网站服务器,公司背景设计图OpenCv read / write video color differenceOpenCv读/写视频色差 感谢博主#xff1a; OpenCv读/写视频色差答案 - 爱码网 有没有办法让 OpenCV 使用正确的转换#xff1f;#xff1f; 是的#xff0c;使用 GStreamer 后端而不是 FFmpeg 后端#xff0c;颜色看起来很完… OpenCv read / write video color differenceOpenCv读/写视频色差 感谢博主 OpenCv读/写视频色差答案 - 爱码网 有没有办法让 OpenCV 使用正确的转换 是的使用 GStreamer 后端而不是 FFmpeg 后端颜色看起来很完美。默认情况下OpenCV 不是使用 GStreamer 构建的至少在 Windows 中不是。我使用 GStreamer 从源代码构建 OpenCV在下载并安装 GStreamer 之后... 【解决方案1】 使用 FFmpeg 后端读取视频帧时OpenCV VideoCapture 中存在错误。 当 H.264 视频流标记为BT.709 颜色标准时该错误会导致“颜色偏移”。 主题太重要了无法回答... 这篇文章的重要部分是重现问题并证明问题是真实的。 我找到的解决方案是选择 GStreamer 后端而不是 FFmpeg 后端。 建议的解决方案有缺点例如需要构建支持 GStreamer 的 OpenCV。 注意 在 Windows 10 下使用 OpenCV 4.53 可以重现该问题。 该问题在 Ubuntu 18.04 下也可重现在 Python 中使用 OpenCV。 该问题适用于 BT.709 颜色标准的“全范围”和“有限范围”。 构建合成视频模式以重现问题 我们可以使用FFmpeg 命令行工具创建合成视频作为输入。 以下命令生成一个带有 H.264 编解码器和 BT.709 颜色标准的 MP4 视频文件 ffmpeg -y -f lavfi -src_range 1 -color_primaries bt709 -color_trc bt709 -colorspace bt709 -i testsrcsize192x108:rate1:duration5 -vcodec libx264 -crf 17 -pix_fmt yuv444p -dst_range 1 -color_primaries bt709 -color_trc bt709 -colorspace bt709 -bsf:v h264_metadatavideo_full_range_flag1:colour_primaries1:transfer_characteristics1:matrix_coefficients1 bt709_full_range.mp4上述命令使用 yuv444p 像素格式而不是 yuv420p来获得更纯的颜色。参数-bsf:v h264_metadatavideo_full_range_flag1:colour_primaries1:transfer_characteristics1:matrix_coefficients1 使用Bitstream Filter 将H.264 流标记为“全范围”BT.709。 使用MediaInfo工具我们可以查看以下颜色特征 colour_range: Full colour_primaries: BT.709 transfer_characteristics: BT.709 matrix_coefficients: BT.709 使用 OpenCV 捕获视频 以下 C 代码抓取第一帧并将其保存到1.png 图像文件 #include opencv2/opencv.hppvoid main() { cv::VideoCapture cap(bt709_full_range.mp4);cv::Mat frame; cap frame;cv::imwrite(1.png, frame);cap.release(); }我们也可以使用以下 Python 代码 import cv2cap cv2.VideoCapture(bt709_full_range.mp4) _, frame cap.read() cv2.imwrite(1.png, frame) cap.release()使用 FFmpeg 将bt709_full_range.mp4 转换为图像序列 ffmpeg -i bt709_full_range.mp4 -pix_fmt rgb24 %03d.png第一个“提取”帧的文件名为001.png。 比较结果 左边是1.pngOpenCV的结果右边是001.pngFFmpeg命令行工具的结果 如您所见颜色不同。 OpenCV 的红色像素值是 RGB  [232, 0, 3]。FFmpeg的红色像素值是RGB  [254, 0, 0]. 原始的 RGB 值可能是[255, 0, 0]由于颜色转换值是 254。 如您所见OpenCV 颜色是错误的 解决方案 - 选择 GStreamer 后端而不是 FFmpeg 后端 默认的 OpenCV 版本不包括 GStreamer 支持至少在 Windows 中。 您可以使用以下instruction 使用 GStreamer 构建 OpenCV。 这是一个使用 GStreamer 后端抓取第一帧的 C 代码示例 void main() { cv::VideoCapture cap(filesrc locationbt709_full_range.mp4 ! decodebin ! videoconvert ! appsink, cv::CAP_GSTREAMER);cv::Mat frame; cap frame;cv::imwrite(1g.png, frame);cap.release(); }结果 左边是1g.pngOpenCV使用GStreamer的结果右边是001.pngFFmpeg命令行工具的结果 使用 GStreamer 的 OpenCV 红色像素的值是 RGB  [254, 0, 1]。 由于颜色转换蓝色为 1 而不是零。 结论 使用 GStreamer 后端而不是 FFmpeg后端似乎可以解决“颜色偏移”问题。OpenCV 用户需要注意颜色偏移问题。让我们希望 OpenCV 开发人员或 FFmpeg 插件开发人员解决这个问题。 【讨论】 很好效果很好顺便说一句GStreamer 并不真正适合未流式传输的视频因为它很难在给定位置检索帧。但是出于与您介绍的相同原因使用 MicrosoftMedia Foundation 作为后端也可以很好地工作。 cv::VideoCapture cap(video_path, cv::CAP_MSMF);
http://www.hkea.cn/news/14367927/

相关文章:

  • 杭州建站网站建设搜索引擎推广特点
  • 电脑端网站和手机网站区别商标图案大全大图 logo
  • 网站建设硬件方案做包装找灵感看什么网站
  • 东莞市微客巴巴做网站怎么将自己做的网站发到网上去
  • 建设网站一般需要多少钱成都网站建设快速服务
  • 网站建设需要的技术手段网页登录界面制作
  • 网站seo优化有哪些搜索引擎大全入口
  • 网站推广策划报告航空航天网站建设建设公司资质要求
  • 高端的网站设计公司现在网站开发的前端语言
  • 天津模板建站代理怎么设计一个网站
  • 网站怎么样制作视频wordpress文章头部
  • 做网站为什么不要源代码网站页尾的作用
  • wap网站和internet网站百度拍照搜题
  • 做网站 站内搜索引擎做钻石资讯网站
  • 网站设计步骤图片重庆建设摩托车网站
  • 河北公司网站开发报价网站建设
  • 买网站名称网络设计方案的重要性
  • 市场营销专业网站怎么做百度推广平台
  • 网站开发合同审核要点免费微商城小程序模板
  • 上海网站建设建议工商银行与建设银行网站对比
  • 武昌网站建设 优帮云域名注册管理中心网站
  • 网站搭建定制长春百度关键词优化
  • 成都网站建设方案服务上海比较有名的室内设计公司
  • 做网站多少钱西宁君博美评虚拟钱包对接网站开发视频教程
  • 网站上线如何做公司名字google seo是什么意思
  • 绿色做环保网站的好处做网站市场报价步登顶
  • 合肥企业网站制作市场调研app软件
  • 百度站长如何验证网站美间软装官网
  • 宁波网站建设服务公司电话苏州做公司网站
  • 外贸网站建设哪家快速广州自助公司建网站