【树莓派学习笔记】五、处理、自动重命名并另存为图片

目录

  • 编写源码
  • 编译
  • 测试

平台:树莓派3B
版本: 2021-05-07-raspios-buster-armhf


编写源码

所用源码修改自【机器视觉学习笔记】最近邻插值实现图片任意角度旋转(C++)
在合适的地方编写源码

nano main.cpp
#include <opencv2/opencv.hpp>
#include <iostream>using namespace cv;
using namespace std;Mat RotateImage(Mat src, float angle)
{int x0, y0, x1, y1;angle = angle * 3.1415926535897932384626433832795 / 180;float sin_sita = sin(angle), cos_sita = cos(angle);Mat dst(abs((int)src.cols*sin_sita) + abs((int)src.rows*cos_sita), abs((int)src.cols*cos_sita) + abs((int)src.rows*sin_sita), CV_8UC3, Scalar(0));  //创建新图像for (x1 = 0; x1 < dst.cols; ++x1){for (y1 = 0; y1 < dst.rows; ++y1){float fx1, fy1;//将图片中点设为坐标原点fx1 = x1 - dst.cols / 2;fy1 = y1 - dst.rows / 2;//旧点直角坐标(坐标原点在角上)x0 = fx1*cos_sita - fy1*sin_sita + src.cols / 2 + 0.5;y0 = fx1*sin_sita + fy1*cos_sita + src.rows / 2 + 0.5;if (x0 >= 0 && x0 < src.cols && y0 >= 0 && y0 < src.rows){dst.at<Vec3b>(Point(x1, y1)) = src.at<Vec3b>(Point(x0, y0));}elsedst.at<Vec3b>(Point(x1, y1)) = 0;}}return dst;
}int main(int argc, char * argv[])
{Mat src;Mat Output;String Name = argv[1];src = imread(argv[1]);Output = RotateImage(src, (float)stoi(argv[2]));imshow("原图", src);imshow("输出", Output);imwrite(Name.substr(0, Name.find('.')) + "_Output." + Name.substr(Name.find('.') + 1, Name.length() - Name.find('.') - 1), Output);waitKey(0);return 0;
}

在这里插入图片描述

编译

相同的目录下编写CMakeLists.txt文件

nano CMakeLists.txt
project(main)
set(OpenCV_DIR "/usr/local/include/opencv4")
find_package( OpenCV REQUIRED )
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(main main.cpp)
target_link_libraries(main ${OpenCV_LIBS})

在这里插入图片描述

其中/usr/local/include/opencv4为安装opencv后库的路径
不同的版本可能不同
在这里插入图片描述
配置编译环境并编译

cmake . 
make

在这里插入图片描述
在这里插入图片描述

测试

./main 4.jpg 45

在这里插入图片描述
如图可见输出图片已成功自动重命名另存为4_Output.jpg
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【bzoj3744】Gty的妹子序列 分块+树状数组+主席树

题目描述 我早已习惯你不在身边&#xff0c;人间四月天 寂寞断了弦。回望身后蓝天&#xff0c;跟再见说再见……某天,蒟蒻Autumn发现了从 Gty的妹子树(bzoj3720) 上掉落下来了许多妹子,他发现她们排成了一个序列,每个妹子有一个美丽度。Bakser神犇与他打算研究一下这个妹子序列…

Linux系统软件包的管理   3月30日课程

Linux系统软件包的管理一、 rpm工具rpm Redhat Package Manager&#xff0c; 设计理念是开放的&#xff0c;不仅仅是在RedHat平台上&#xff0c;在SUSE上也是可以使用的。rpm包名字构成由-和.分成了若干部分&#xff0c;如abrt-cli-2.0.8-15.el6.centos.i686.rpm&#xff0c;ab…

第10章:Canny图像边缘检测

第10章&#xff1a;Canny图像边缘检测一、Canny边缘检测的基础&#xff1a;1. 应用高斯滤波去除图像噪声&#xff1a;2. 计算梯度3.非极大值抑制4. 应用双阈值确定边缘&#xff1a;二、Canny函数使用&#xff1a;​ Canny边缘检测是一种使用多级边缘检测算法检测边缘的方法。19…

【树莓派学习笔记】六、启用摄像头、实时视频、录像和截图

目录安装摄像头配置使用luvcview平台&#xff1a;树莓派3B 版本&#xff1a; 2021-05-07-raspios-buster-armhf 安装摄像头 配置 sudo raspi-config重启后 cd /dev ls可看到新增了video0设备 使用luvcview 安装 sudo apt-get install luvcview查看摄像设备详细信息 luv…

https 与 http

HTTPS,HTTP over SSL,SSL是解决传输层安全问题的网络协议&#xff0c;其核心是基于公钥密码学理论实现了对服务器身份认证&#xff0c;数据的私密性保护以及对数据完整性的校验等功能。 SSL协议在HTTP请求开始之前增加了握手阶段&#xff0c;SSL/TLS握手———加密的HTTP请求—…

Android各种屏幕分辨率(VGA、HVGA、QVGA、WQVGA、WVGA、FWVGA) 详解

2019独角兽企业重金招聘Python工程师标准>>> VGA&#xff1a;Video Graphics Array&#xff0c;即&#xff1a;显示绘图矩阵&#xff0c;相当于640480 像素&#xff1b;HVGA&#xff1a;Half-size VGA&#xff0c;即&#xff1a;VGA的一半&#xff0c;分辨率为48032…

敏捷合同-摘自网络

敏捷软件开发实践的文化中存在着一个断层&#xff0c;该断层同样体现在许多敏捷团队中。这个断层就是业务分析人员在敏捷项目中的角色——谁来担任这个角色&#xff1f;它的作用 和价值是什么&#xff1f;它又是如何发生改变的&#xff1f;这种情况的潜台词&#xff08;其实我曾…

第11章:图像金字塔

第11章&#xff1a;图像金字塔一、理论基础&#xff1a;1. 向下采样&#xff1a;2. 向上采样&#xff1a;二、pyrDown函数使用&#xff1a;三、pyrUp函数及使用&#xff1a;四、采样可逆性研究五、拉普拉斯金字塔1. 定义&#xff1a;2. 应用&#xff1a;什么是图像金子塔&#…

【树莓派学习笔记】七、(免费)内网穿透将树莓派作为服务器管理网站

目录nginx安装开机自启动测试查看nginx安装路径查看配置文件路径(测试用)修改index.nginx-debian.html内网穿透免费方案ngrok原版方案下载ngrok连接账户开启内网穿透httpSSH网云穿方案开通隧道下载开启内网穿透开机自启动花生壳方案下载和安装添加内网穿透映射测试平台&#xf…

webapi put 404

windows server 2016 IIS webapi 404 error In IIS select your website and double-click Handler Mappings &#xff08;处理程序映射&#xff09;Find ExtensionlessUrlHandler-ISAPI-4.0_32bit and double-clickIn the dialog that appears, click Request Restrictio…

linux批量远程多服务器FTP并下载文件的脚本

#!/bin/bashtimedate %Y%mdaydate -d -1 days %Y%m%dlocalDir"/DBBackup/GameDB"cd $localDir#ip_game.ini配置ftp服务器的ip,账号&#xff0c;密码等&#xff0c;格式自己定义 #比如&#xff1a;Server1 username userpasswd 1.1.1.1 Dbbackup servername(cat /D…

第12章:图像轮廓

第12章&#xff1a;图像轮廓一、查找并绘制轮廓&#xff1a;1. 查找图像轮廓&#xff1a;2. 绘制图像轮廓&#xff1a;3. 绘制轮廓实例&#xff1a;二、矩特征1. 矩的计算&#xff1a;moments函数2. 计算轮廓面积&#xff1a;contourArea函数3. 计算轮廓长度&#xff1a;arcLen…

【语言处理与Python】2.5WordNet

WordNet是面向语义的英语词典&#xff0c;类似于传统词典&#xff0c;但具有更丰富的结构。NLTK中包括英语WordNet,有很多词和同义词的集合。 意义与同义词 具有相同含义的词是同义词。 #在wordnet中怎样探索这些同义词from nltk.corpus import wordnet as wnWn.synsets(‘moto…

解决ionic切换路由后,不继承tab路由,没有返回按钮问题

参考网站&#xff1a;http://bbs.phonegap100.com/thread-3962-1-1.html .state(tab.user, {url: /user,views: {tab-user: {templateUrl: templates/user/user.html }} }).state(login, {url: /login,templateUrl: templates/user/login.html,controller:Login }) 解决方法 .c…

【树莓派学习笔记】八、两步安装VS Code (Visual Studio Code)

目录下载安装使用(可选)安装插件C/CCMake ToolsCode Runner平台&#xff1a;树莓派3B 版本&#xff1a; 2021-05-07-raspios-buster-armhf 下载 官网下载 Download Visual Studio Code 发送到树莓派 安装 sudo dpkg -i Desktop/code_1.60.2-1632316275_armhf.deb 使用 在…

atitit.spring hibernate的事务机制 spring不能保存对象的解决

atitit.spring hibernate的事务机制 spring不能保存对象的解决 sessionFactory.openSession() 不能。。log黑头马sql语言.. sessionFactory.getCurrentSession().update(user); 中间走ok兰..log黑头也有累.. 在Spring中使用Hibernate&#xff0c;如果我们配置了TransactionMana…

20 best jquery 截图

digguka, January 05, 2012jQuery Image Crop - A very useful list of tools for cropping, zooming and resizing of images. Some of plugins come with the ability to upload croped images. 转载于:https://www.cnblogs.com/yqskj/archive/2013/05/25/3098411.html

【RK3399Pro学习笔记】一、Thinker Edge R 安装系统和VNC服务

目录下载固件安装USB驱动下载烧录工具刷机第一次开机连接WifiSSH登录换源设置语言安装VNC服务平台&#xff1a;华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本&#xff1a;Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 风火轮论坛资料网盘 提取码&#xff1a;wqbd 下载固件…

第13章:直方图处理

第13章&#xff1a;直方图处理一、直方图的含义&#xff1a;1. 普通直方图&#xff1a;2. 归一化直方图&#xff1a;二、绘制直方图&#xff1a;1. 使用Numpy绘制直方图&#xff1a;2. 使用OpenCV绘制直方图&#xff1a;3. 使用掩码绘制直方图&#xff1a;三、直方图均衡化&…

操作系统 内存管理篇

一.程序的装入和链接 装入方式&#xff1a; 链接方式&#xff1a; 二.进程的内存映像 三.内存的分配 1.连续分配 分配方式&#xff1a; 2.不连续分配 分页&#xff1a;页面大小一致 引入快表&#xff08;和 cache 处理思路一致&#xff09; 升级到二级页表 分段&#xff1a;…