目录

  • 编写源码
  • 编译
  • 测试

平台:树莓派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

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

  1. 树莓派学习笔记(五)——烟雾浓度检测(ONENET云平台收发数据代码)

    文章目录 前言 一.硬件连接 MQ-2 PCF8591 二.Onenet平台数据收发程序 onenetsub.py onenetget.py 三.程序 树莓派开启iic功能 完整程序 OneNet界面 ...

  2. python函数是一段具有特定功能的语句组_Python学习笔记(五)函数和代码复用

    本文将为您描述Python学习笔记(五)函数和代码复用,具体完成步骤: 函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Pyth ...

  3. 树莓派学习笔记(5):成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)

    一.家庭服务器实现的主要功能 http://www.cnblogs.com/xiaowuyi/p/4051238.html 1.流媒体播放服务:利用DLNA实现电视.手机.电脑播放其上面的媒体文件. ...

  4. 华清远见fs4412开发板学习笔记(五)

    fs4412开发板学习笔记(五) 作业1: 输入10个整数,按从小到大的顺序输出(选择排序) 每轮排序在未排序的集合中找到(最小/最大),将找到的数与未排序的 第一个数交换位置. 5 4 3 2 1 ...

  5. 【AngularJs学习笔记五】AngularJS从构建项目开始

    为什么80%的码农都做不了架构师?>>>    #0 系列目录# AngularJs学习笔记 [AngularJs学习笔记一]Bower解决js的依赖管理 [AngularJs学习笔 ...

  6. ROS学习笔记五:理解ROS topics

    ROS学习笔记五:理解ROS topics 本节主要介绍ROS topics并且使用rostopic和rqt_plot命令行工具. 例子展示 roscore 首先运行roscore系列服务,这是使用R ...

  7. 开放源码易语言摄像头拍照自动重命名拍学籍照和证件照

    功能介绍: 1.可用摄像头或手机(加装iVCam)实现拍照效果.加装iVCam可实现去背景功能. 2.自由移动.拖拉拍摄框大小功能. 3.自定义拍摄尺寸功能. 4.数据导入功能. 5.根据导入 的数据 ...

  8. 树莓派学习笔记——定时向yeelink上传树莓派CPU温度

    0 前言 本文通过python文件IO操作获得树莓派CPU温度信息,通过python request库周期性向yeelink平台上传温度,修改rc.local脚本使得该python脚本在开机时便在后台 ...

  9. 树莓派可以移动linux,树莓派学习笔记 篇三:树莓派4B 与移动存储设备的那些事儿...

    树莓派学习笔记 篇三:树莓派4B 与移动存储设备的那些事儿 2019-11-24 23:03:55 39点赞 286收藏 14评论 本文是「树莓派学习笔记」系列的第三篇,将学习下 Linux 系统分区 ...

最新文章

  1. 【机器学习】基于人工鱼群算法的非线性函数寻优
  2. 学习笔记Hadoop(九)—— Hadoop基础操作(1)—— Hadoop安全模式、Hadoop集群基本信息
  3. 转pdf wps_华为手机自带图片转PDF的功能?今天才知道,当了5年花粉白当了
  4. 正整数的中文表示python_使用Python列表理解计算列表中的正整数元素
  5. HuggingFace BERT源码详解:基本模型组件实现
  6. openshift for linux
  7. mysql8 index255_详解关于MySQL 8.0走过的坑
  8. php修改mongo,php操作MongoDB基础教程(连接、新增、修改、删除、查询)
  9. log4net使用注意
  10. PAT 乙级1016 部分A+B(C语言)
  11. _GNUC__宏函数
  12. rs232接口_各类PLC都支持RS232和485通讯,原理和方法普及一下
  13. 怎么在linux上网络功能,Linux系统如何通过手机GPRS功能无线上网
  14. 使用MySQL查找姓名重名_查询名字有多少人重名,全国同名同姓查询全国姓名数据库...
  15. 多用户商城系统有哪些盈利模式?
  16. 高德地图 缩放级别(Zoom) 和 比例尺(scale)之间 的关系
  17. cocos2d-x3.2与服务端框架Firefly的网络编程(初级网络通讯)
  18. 2022第37届深圳国际医疗器械展览会
  19. 【滤波】基于最近邻算法实现多目标航迹关联附matlab代码
  20. 如何才能打造优秀高效的项目团队?

热门文章

  1. QMake Automatic Dependencies
  2. 闭包/Block当成函数参数实现回调
  3. [连载]《C#通讯(串口和网络)框架的设计与实现》- 13.中英文版本切换设计
  4. 简单的创建一个性能计数器
  5. 【整理】fiddler不能监听 localhost和 127.0.0.1的问题
  6. webView.loadUrl(file:///android_asset/table3.html)出现中文乱码的问题
  7. Linux 小知识翻译 - 「邮件服务器」
  8. 配置Windows Server2008故障转移集群
  9. 算法 从 数中选出_算法可以选出胜出的nba幻想选秀吗
  10. Mybatis—注解开发