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

秦皇岛网站制作跨境电商网站怎么做

秦皇岛网站制作,跨境电商网站怎么做,设计 企业网站,wordpress编辑器 模板这篇博客为修改过后的转载#xff0c;因为没有转载链接#xff0c;所以选了原创 文章目录 一、vs code 结合Cmake debug1.1 配置tasks.json1.2 配置launch.json 二、图片、视频、摄像头读取显示2.1 读取图片并显示2.2 读取视频文件并显示2.3 读取摄像头并写入文件 三、图片基…这篇博客为修改过后的转载因为没有转载链接所以选了原创 文章目录 一、vs code 结合Cmake debug1.1 配置tasks.json1.2 配置launch.json 二、图片、视频、摄像头读取显示2.1 读取图片并显示2.2 读取视频文件并显示2.3 读取摄像头并写入文件 三、图片基本操作3.1 颜色转换3.2 图像filtering3.3 形状调整3.4 绘制 四、RTSP 视频流4.1 本机构造RTSP视频流optional4.2 使用ffmpeg作为视频解码 五、人脸检测小例子 一、vs code 结合Cmake debug 1.1 配置tasks.json 文件架构如下 需要注意-DCMAKE_BUILD_TYPEDebug 要设置为Debug模式。 {version: 2.0.0,tasks: [{// cmake配置type: cppbuild,label: CMake配置,command: cmake, // cmake命令args: [-S ., // 源码目录-B build, // 编译目录-DCMAKE_BUILD_TYPEDebug // 编译类型],options: {cwd: ${workspaceFolder} // 工作目录},problemMatcher: [$gcc],group: build,},{// cmake编译type: cppbuild,label: CMake编译,command: cmake, // cmake命令args: [--build, // 编译build, // 编译目录],options: {cwd: ${workspaceFolder} // 工作目录},problemMatcher: [$gcc],group: build,dependsOn: [CMake配置 // 依赖CMake配置先执行CMake配置]},{// 删除build目录type: shell,label: 删除build目录,command: rm -rf build,options: {cwd: ${workspaceFolder} // 工作目录},problemMatcher: [$gcc],group: build,}] }1.2 配置launch.json {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息请访问: https://go.microsoft.com/fwlink/?linkid830387version: 0.2.0,configurations: [{name: CMake调试,type: cppdbg,request: launch,program: ${workspaceFolder}/build/cmake_debug, // 编译后的程序需要结合CMakeLists.txt中的add_executable()函数args: [],stopAtEntry: false,cwd: ${workspaceFolder},environment: [],externalConsole: false,MIMode: gdb,miDebuggerPath: /usr/bin/gdb,setupCommands: [{description: Enable pretty-printing for gdb,text: -enable-pretty-printing,ignoreFailures: true}],preLaunchTask: CMake编译}] }二、图片、视频、摄像头读取显示 2.1 读取图片并显示 // 使用imread函数读取图片和Python用法类似 // 读取的数据保存在Mat类型的变量image中Mat是opencv中的图像数据结构类似numpy中的ndarray cv::Mat image cv::imread(图片路径);// 输出数据以numpy和Python list格式输出 std::cout cv::format(image, cv::Formatter::FMT_NUMPY) std::endl; std::cout cv::format(image, cv::Formatter::FMT_PYTHON) std::endl;// 判断图像是否读取成功返回true表示失败 if (image.empty()) {std::cout 无法读取图片 std::endl;return 1; } // imshow显示图像 cv::imshow(opencv demo, image); // 保存图像 cv::imwrite(./output/gray_image.jpg, gray_image);// 等待按键 cv::waitKey(0); 2.2 读取视频文件并显示 // 读取视频创建了一个VideoCapture对象参数为视频路径 cv::VideoCapture capture(视频路径);// 判断视频是否读取成功返回true表示成功 if (!capture.isOpened()) {std::cout 无法读取视频 std::endl;return 1; }// 读取视频帧使用Mat类型的frame存储返回的帧 cv::Mat frame; // 循环读取视频帧 while (true) {// 读取视频帧使用 运算符或者read()函数他的参数是返回的帧capture.read(frame);// capture frame;// 显示视频帧cv::imshow(opencv demo, frame); }2.3 读取摄像头并写入文件 // 读取视频创建了一个VideoCapture对象参数为摄像头编号 cv::VideoCapture capture(0);// 写入MP4文件参数分别是文件名编码格式帧率帧大小 cv::VideoWriter writer(record.mp4, cv::VideoWriter::fourcc(H, 2, 6, 4), 20, cv::Size(640, 480));// 写入视频 writer.write(frame);三、图片基本操作 3.1 颜色转换 // BGR - Gray // 三个参数分别是输入图像、输出图像、转换方式 cv::cvtColor(src, gray, cv::COLOR_BGR2GRAY); // BGR - HSVHue(色调)、Saturation(饱和度)、Value(明度) cv::cvtColor(src, hsv, cv::COLOR_BGR2HSV); // BGR - RGB cv::cvtColor(src, rgb, cv::COLOR_BGR2RGB);3.2 图像filtering // 三个参数分别是输入图像、输出图像、卷积核大小 cv::GaussianBlur(src, blur, cv::Size(7, 7), 0); // 膨胀 // 三个参数分别是输入图像、输出图像、卷积核大小 cv::dilate(src, dilate, cv::getStructuringElement(cv::MORPH_RECT, cv::Size(5, 5))); // 腐蚀 // 三个参数分别是输入图像、输出图像、卷积核大小 cv::erode(src, erode, cv::getStructuringElement(cv::MORPH_RECT, cv::Size(5, 5)));3.3 形状调整 // resize // 三个参数分别是输入图像、输出图像、输出图像大小 cv::resize(src, resize, cv::Size(320, 240));// copy cv::Mat copy; src.copyTo(copy); // ROI裁剪 cv::Rect rect(100, 100, 200, 100); // x, y, width, height cv::Mat roi src(rect); cv::imwrite(./output/3.roi.jpg, roi);// 拼接 cv::Mat dog_img cv::imread(./media/dog.jpg); cv::Mat dog_resize; cv::resize(dog_img, dog_resize, cv::Size(320, 240));// 水平拼接需要保证两张图片的高度rows一致 cv::Mat hconcat_img; cv::hconcat(resize, dog_resize, hconcat_img); cv::imwrite(./output/3.hconcat.jpg, hconcat_img);// 或者使用vector方式 std::vectorcv::Mat imgs{resize, dog_resize, resize, dog_resize}; cv::Mat hconcat_img2; cv::hconcat(imgs, hconcat_img2); cv::imwrite(./output/3.hconcat2.jpg, hconcat_img2);// 数组方式 cv::Mat imgs_arr[] {dog_resize, resize, dog_resize, resize}; cv::Mat hconcat_img3; cv::hconcat(imgs_arr, 4, hconcat_img3); // 4是数组长度 cv::imwrite(./output/3.hconcat3.jpg, hconcat_img3);// 垂直拼接需要保证两张图片的宽度cols一致 cv::Mat vconcat_img; cv::vconcat(resize, dog_resize, vconcat_img); cv::imwrite(./output/3.vconcat.jpg, vconcat_img);// 翻转 cv::Mat flip; // 三个参数分别是输入图像、输出图像、翻转方向 cv::flip(src, flip, 1); // 1表示水平翻转0表示垂直翻转-1表示水平垂直翻转// 旋转 cv::Mat rotate; // 三个参数分别是输入图像、输出图像、旋转角度 cv::rotate(src, rotate, cv::ROTATE_90_CLOCKWISE); // 顺时针旋转90度3.4 绘制 // 创建一个黑色图像参数分别是图像大小、图像类型CV_8UC3表示8位无符号整数3通道 cv::Mat image cv::Mat::zeros(cv::Size(600, 600), CV_8UC3);// 绘制直线参数分别是图像、起点、终点、颜色、线宽、线型 cv::line(image, cv::Point(50, 50), cv::Point(350, 250), cv::Scalar(0, 0, 255), 2, cv::LINE_AA); // 绘制矩形参数分别是图像、左上角、右下角、颜色、线宽、线型 cv::rectangle(image, cv::Point(50, 50), cv::Point(350, 250), cv::Scalar(0, 255, 0), 2, cv::LINE_AA); // 绘制圆形参数分别是图像、圆心、半径、颜色、线宽、线型 cv::circle(image, cv::Point(200, 150), 100, cv::Scalar(255, 0, 0), 2, cv::LINE_AA); // 实心 cv::circle(image, cv::Point(200, 150), 50, cv::Scalar(255, 0, 0), -1, cv::LINE_AA);// 多边形 cv::Point points[2][4]; // 定义两个多边形的顶点数组 // 第一个多边形的顶点 points[0][0] cv::Point(100, 115); points[0][1] cv::Point(255, 135); points[0][2] cv::Point(140, 365); points[0][3] cv::Point(100, 300); // 第二个多边形的顶点 points[1][0] cv::Point(300, 315); points[1][1] cv::Point(555, 335); points[1][2] cv::Point(340, 565); points[1][3] cv::Point(300, 500); // ppt[] 要同时添加两个多边形顶点数组的地址 const cv::Point *pts_v[] {points[0], points[1]}; // npts_v[]要定义每个多边形的定点数 int npts_v[] {4, 4}; // 绘制多边形参数分别是图像、顶点数组、顶点数、是否闭合、颜色、线宽、线型 cv::polylines(image, pts_v, npts_v, 2, true, cv::Scalar(255, 0, 255), 2, 8, 0);// 使用vector绘制多边形 std::vectorcv::Point points_v; // 随机生成5个点 for (int i 0; i 5; i) {points_v.push_back(cv::Point(rand() % 600, rand() % 600)); } // 绘制多边形参数分别是图像、顶点数组、是否闭合、颜色、线宽、线型 cv::polylines(image, points_v, true, cv::Scalar(255, 0, 0), 2, 8, 0);// 绘制文字 // 参数分别是图像、文字、文字位置、字体、字体大小、颜色、线宽、线型 cv::putText(image, Hello World!, cv::Point(400, 50), cv::FONT_HERSHEY_SIMPLEX, 1.0, cv::Scalar(255, 255, 255), 2, 8, 0);四、RTSP 视频流 4.1 本机构造RTSP视频流optional # Ubuntu安装ffmpeg sudo apt-get install ffmpeg# 赋予权限 chmod x rtsp-simple-server chmod x start_server.sh # 运行服务 ./start_server.sh# 退出服务 pkill rtsp-simple-server pkill ffmpeg4.2 使用ffmpeg作为视频解码 // CAP_FFMPEGopencv 使用ffmpeg解码 cv::VideoCapture stream1 cv::VideoCapture(rtsp地址, cv::CAP_FFMPEG);五、人脸检测小例子 附件位置5.face_detection
http://www.hkea.cn/news/14291533/

相关文章:

  • 环球资源网的网站特色推广策略是什么意思
  • 乡镇信息公开网站建设制度node.js 打开wordpress
  • 购物网站设计意义wordpress图片中文主题
  • 电脑网站和手机网站怎么做相同路径自己做网站卖二手车
  • 做外贸网站流程图软件技术有限公司
  • 广中路街道网站建设wordpress建设
  • 容桂网站设计制作网络推广营销服务
  • 浙江网站建设公司排名学室内设计去哪里学比较好
  • 营销网站建设都是专业技术人员吗国际物流公司
  • 北京有哪些网站建设商业网站 技术
  • 做警员编号网站微网站微名片
  • 余姚建设公司网站c 网站开发的优点
  • 网站建设维护文档界面网页设计培训
  • 网站幻灯片尺寸设置免费html模板素材网站
  • 微信怎么做链接网站井冈山保育院网站建设
  • 晋江网站开发求个网站没封的2021
  • 建设网站平台的建议建筑招聘
  • 网站速度优化方案网站和微信公众号建设方案
  • 北京网站制作服务安徽最新消息今天
  • delphi7 网站开发网站 打赏功能
  • 垦利网站制作做网站外链
  • 做企业网站选百度云还是阿里云wordpress注入漏洞
  • 网站建设企业公司做零售出口的网站
  • 长沙做网站的包吃包住4000设计一个个人网站的基本步骤
  • 不是网站开发语言的是百度上海推广优化公司
  • 企业网站的种类tk域名官方网站
  • 兰甘肃网站建设seo学徒是做什么
  • 谷歌网站管理员账号网站开发工具js
  • 网站开发前的准备淘宝上做网站可信吗
  • 网站的结构怎么做wordpress淘宝客自适应模板