利用opencv从本地获取图像,并进行图像缩放,彩色图转灰度图
来源:互联网 发布:qq主题软件 编辑:程序博客网 时间:2024/06/07 20:32
从本地获取图像:
#include "afx.h"
#include <opencv2/opencv.hpp>using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[]){
const char* imagename = "1.jpg";
//从文件中读入图像
Mat img = imread(imagename);
//如果读入图像失败
if(img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
//显示图像,在哪个个窗口显示
imshow("image", img); //void namedWindow(const string& winname, int flags = WINDOW_AUTOSIZE)//用来创建窗口的函数
//此函数等待按键,按键盘任意键就返回
waitKey();
return 0;
}
刚开始定义的头文件是#include<stdafx.h>,然后VS2012报错,找不到头文件,接着,将头文件改为afx.h,结果生成解决方案又报错,
#error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
解决方法:、在你的工程属性里添加 _AFXDLL 的定义(右键工程名->properties->C/C++->Preprocessor这一页下有Preprocessor Definitions 在这里添加)
然后就没有然后了@_@.
缩放图像文件
#include <opencv2/opencv.hpp>
using namespace std;
//隐藏控制台窗口
int main()
{
const char *pstrImageName = "1.png";
const char *pstrSaveImageName = "1.png";
const char *pstrWindowsSrcTitle = "原图";
const char *pstrWindowsDstTitle = "缩放图";
double fScale = 0.314; //缩放倍数
CvSize czSize; //目标图像尺寸
//从文件中读取图像
IplImage *pSrcImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);
IplImage *pDstImage = NULL;
//计算目标图像大小
czSize.width = pSrcImage->width * fScale;
czSize.height = pSrcImage->height * fScale;
//创建图像并缩放
pDstImage = cvCreateImage(czSize, pSrcImage->depth, pSrcImage->nChannels);
cvResize(pSrcImage, pDstImage, CV_INTER_AREA);
//创建窗口
cvNamedWindow(pstrWindowsSrcTitle, CV_WINDOW_AUTOSIZE);
cvNamedWindow(pstrWindowsDstTitle, CV_WINDOW_AUTOSIZE);
//在指定窗口中显示图像
cvShowImage(pstrWindowsSrcTitle, pSrcImage);
cvShowImage(pstrWindowsDstTitle, pDstImage);
//等待按键事件
cvWaitKey();
//保存图片
//cvSaveImage(pstrSaveImageName, pDstImage);
cvDestroyWindow(pstrWindowsSrcTitle);
cvDestroyWindow(pstrWindowsDstTitle);
cvReleaseImage(&pSrcImage);
cvReleaseImage(&pDstImage);
return 0;
}
彩色图转灰度图:
#include "highgui.h"
#include <cv.h>
#include <cvaux.h>
int main(int argc, char* argv[])
{
const char* imagename = "1.png";
IplImage * img = cvLoadImage(imagename);
if(!img)
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
if( !img->imageData ) // 检查是否正确载入图像
return -1;
cvNamedWindow("image", CV_WINDOW_AUTOSIZE); //创建窗口
cvShowImage("image", img); //显示图像
IplImage* img1 = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);//创建目标图像
cvCvtColor(img,img1,CV_BGR2GRAY);//cvCvtColor(src,des,CV_BGR2GRAY)
cvNamedWindow("gray_image",CV_WINDOW_AUTOSIZE);//创建显示目标的窗口
cvShowImage("gray_image",img1);//显示灰度图像
cvWaitKey();
cvReleaseImage(&img);
cvReleaseImage(&img1);
cvDestroyAllWindows();
return 0;
}
- 利用opencv从本地获取图像,并进行图像缩放,彩色图转灰度图
- OpenCV彩色图像转灰度图
- 彩色图像转灰度图
- Opencv: 彩色图像转成灰度图像并保存
- 彩色图像转灰度图公式
- opencv摄像头采集图像彩色图转换成灰度图
- OpenCV将彩色图像转化为灰度图代码
- 利用Opencv进行图像灰度变换处理
- 彩色图像转灰度图像
- 【Android】使用OpenCV彩色图像转灰度图像
- opencv彩色图像(RGB)转灰度图像及其优化
- openCV彩色图像转换为灰度图像
- opencv彩色图像与灰度图像叠加
- 【拜小白opencv】2图像彩色空间转换,RGB转灰度图等。cvtColor()函数
- 利用SVM支持向量机对彩色图像进行分割并使用OpenCV进行实现
- 彩色图像->灰度图像:
- 灰度图像彩色图像
- 使用 Java 进行图像处理 - 将彩色图像转换为灰度图
- 病毒侵袭(AC自动机)
- hadoop2.6安装配置
- Notes
- 转:三个鹿念啥?三个风念啥?三个······
- mysql常用字符串操作函数大全,以及实例
- 利用opencv从本地获取图像,并进行图像缩放,彩色图转灰度图
- OC当中字符串常用的方法
- 病毒侵袭持续中(AC自动机)
- Android防止图片重复、错位、闪烁的解决方案
- OC_字符串
- hdoj 3594 Cactus 【仙人掌图的判定】【有向图tarjan求SCC】
- android桌面图标更换后不起效果
- 从layout到extent的演变史(三)
- 第二周第一天