opencv:图像的读取,显示,写入文件
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
// 图像内存对象,在C++中是以Mat对象形式保存的
Mat img = imread("f:/temp/images/lena.jpg");
/*
imread的默认选项:IMREAD_COLOR,默认会将图像加载为一张BGR的彩色图像
IMREAD_GRAYSCALE:加载一张灰度图像
IMREAD_ANYCOLOR:
IMREAD_UNCHANGED:不改变,加载透明通道的图片要使用这个
*/
// 读取灰度图像
//Mat img = imread("C:\\Users\\hp\\Desktop\\Emoticon\\q.jpg", IMREAD_GRAYSCALE);
// 判断图像是否读取成功,如果读取成功,empty返回true
if (img.empty())
{
printf("Could not find the image!\n");
return -1;
}
// 创建窗口,默认选项是 WINDOW_AUTOSIZE
// 选项:
// WINDOW_AUTOSIZE:表示自动匹配,不好修改窗口大小
// WINDOW_FREEATIO:可以修改窗口的大小
// WINDOW_NORMAL:也可以修改窗口
namedWindow("input", WINDOW_AUTOSIZE);
// 在指定窗口上显示一张图像
// imshow 本身不支持透明通道的显示
imshow("input", img);
// 色彩空间转换
Mat gray;
// 转换为灰度图像
// 参数1:要转换的图像,参数2:存储转换结果的,参数3:转换的选项
cvtColor(img, gray, COLOR_BGR2GRAY);
imshow("gray", gray);
// 将图像写入文件
// 这个图像如果保存出错了,是不会有提示的
imwrite("f:/temp/test/gray.png", gray);
waitKey(0);
// 销毁所有窗口
destroyAllWindows();
}
opencv:图像的读取,显示,写入文件的更多相关文章
- 读取和写入 文件 (NSFIleManger 与 NSFileHandle)
读取和写入 文件 //传递文件路径方法 -(id)initPath:(NSString *)srcPath targetPath:(NSString *)targetPath { self = [su ...
- <学习opencv>图像、视频和数据文件
/*=========================================================================*/ // openCV中的函数 /*====== ...
- php中读取以及写入文件的方法总结
==>读取文件内容(方法一) $fileData = fread($fileStream,filesize($filePath)); 注意: 文本文件读取到网页上显示时,由于换行符不被解释,文本 ...
- 【转】MFC中用CFile读取和写入文件2
原文网址:http://blog.sina.com.cn/s/blog_623a7fa40100hh1u.html CFile提供了一些常用的操作函数,如表1-2所示. 表1-2 CFile操作函数 ...
- 在线程中进行读取并写入文件和wenjia
新人求(胸)罩!!! import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException ...
- C# Byte[]数组读取和写入文件
这个项目我用的是asp.net构建的,代码如下 protected void ByteToString_Click(object sender, EventArgs e) { string conte ...
- Redis 中文入库成功,读取数据写入文件乱码问题
近期须要用到redis ,可是在编码这个问题上,纠结了非常久. 需求 :每天一个进程将中文文件入库到redis中(不定时更新) ,另外几个进程读取redis中的信息 ,并处理数据结果.使 ...
- C#读取和写入文件
一.读取文件 如果你要读取的文件内容不是很多, 可以使用 File.ReadAllText(FilePath) 或指定编码方式 File.ReadAllText(FilePath, Encoding) ...
- c#通过FileStream读取、写入文件
网上找过一些FileStream读取写入文件的代码,但是都有些小问题. 于是自己整理一下,以备不时之需.说明一下,以下代码我都运行过. 1.FileStream读取文件 // FileStream读取 ...
- Python读取和写入文件
1 从文件中读取数据 1.1 读取整个文件 创建名为test的txt文本文件,添加内容如下所示: 123456789023456789013456789012 实现代码: with open('tes ...
随机推荐
- 继 “多闪”后“飞聊”再被diss?其实社交还能这么玩
近日头条低调上线了新的社交APP——飞聊,目前在AppStore社交排行榜第7位.但很多人使用了之后都觉得新产品的各个功能都让人想起其他的产品.兴趣小组让人想到豆瓣的兴趣小组,生活动态让人想到微博动态 ...
- 并查集路径分裂优化 UnionFind PathSpliting(C++)
/* * UnionFind.h * 有两种实现方式,QuickFind和QuickUnion * QuickFind: * 查找O(1) * 合并O(n) * QuickUnion:(建议使用) * ...
- EntityFramework之原始查询及性能优化
之前做海信项目,数据量自交大,为了提高查询效率用的 https://www.cnblogs.com/CreateMyself/p/4746258.html
- 训练20191007 2017-2018 ACM-ICPC Latin American Regional Programming Contest
2017-2018 ACM-ICPC Latin American Regional Programming Contest 试题地址:http://codeforces.com/gym/101889 ...
- Java-重载和重写区别剖析
重载(Overload)和重写(Override)是任何一门面向对象的语言都会具有的两个特性,自然,Java语言中也具有此两种特性.但是,对于Java新手,或者没有面向对象语言经验的开发者而言,这会是 ...
- 【转载】Java嵌入Pig编程
转自:https://wiki.apache.org/pig/EmbeddedPig Embedding Pig In Java Programs Sometimes you want more co ...
- 使用LxRunOffline工具备份/还原Linux子系统(WSL)
安装WSL 开启WSL组件 首先需要打开WSL组件,可以使用以下命令: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Win ...
- AcWing 898. 数字三角形
//从上往下 #include <iostream> #include <algorithm> using namespace std; , INF = 1e9; int n; ...
- 并发之atomic原子操作
Atomic类 Atomic类是一个简单的高效的.线程安全的递增递减方案,在多线程或者并发环境中,我们常常会遇到这种情况 int i=0; i++ 稍有经验的同学都知道这种写法是线程不安全的.为了达到 ...
- [Note]后缀数组
后缀数组 代码 void rsort() { for (int i = 1; i <= m; ++i) tax[i] = 0; for (int i = 1; i <= n; ++i) + ...