opencv图像灰化_opencv读入图像、灰度化、归一化、向量化
平台:win7+opencv2.4.4+vs2008
功能:实现对图像的读入、灰度化、归一化和向量化。
代码:
//这里的头文件都是vs2008的,与vc6.0有多不同
#include
#include
using namespace std;
using namespace cv;
void main(int argc, char* argv[])
{
IplImage *src;
src = cvLoadImage("D:\\image.jpg"); //这里将lena.jpg和lena.cpp文件放在同一个文件夹下
cvNamedWindow("src",CV_WINDOW_AUTOSIZE);
cvMoveWindow("src",0,50);
cvShowImage("src",src);
//图像灰度化
IplImage* gray_image;
gray_image = cvCreateImage(cvGetSize(src),8,1);
cvCvtColor(src,gray_image,CV_BGR2GRAY);
//cvNamedWindow("gray",CV_WINDOW_AUTOSIZE);
//cvMoveWindow("gray",100,100);
//cvShowImage("gray",gray_image);
//尺度归一化
IplImage* norm_image;
CvSize norm_cvsize;
norm_cvsize.width = 100; //目标图像的宽
norm_cvsize.height = 100; //目标图像的高
norm_image = cvCreateImage(norm_cvsize, gray_image->depth,gray_image->nChannels); //构造目标图象
cvResize(gray_image, norm_image, CV_INTER_LINEAR); //缩放源图像到目标图像
//cvNamedWindow("norm",CV_WINDOW_AUTOSIZE);
//cvMoveWindow("norm",150,150);
//cvShowImage("norm",norm_image);
//图像转化成矩阵
CvMat* norm_mat = cvCreateMat(norm_image->height,norm_image->width,CV_32FC1);//定义一个指向CvMat对象的指针
cvConvert(norm_image,norm_mat);
//变成行向量(默认为行向量)
CvMat vecHead,*vecRow;
vecRow=cvReshape( norm_mat, &vecHead, 0, 1 );//vec是得到的一维向量
//矩阵转置从而得到列向量
CvMat* col_mat = cvCreateMat(norm_image->height,norm_image->width,CV_32FC1);
cvTranspose( norm_mat, col_mat );
//变成列向量(获得列向量需要装置矩阵)
CvMat colHead,*vecCol;
vecCol=cvReshape( col_mat, &colHead, 0, 1 );//得到的一维向量
//显示向量元素
int S=norm_cvsize.width*norm_cvsize.width;
//给列向量赋值
float c=0,col[10000]={0};
float *p;//获得矩阵元素(0,0)的指针
p = (float*)cvPtr1D(vecCol, 0,0);
for(int i = 0; i
{
//printf("%f\t",*p/255);
col[i]=*p/255;
c=col[i];
printf("%f\t",c);
p++;
}
cvWaitKey(0);//按需要0课改为任意值
cvDestroyAllWindows();
cvReleaseImage(&src);
cvReleaseImage(&gray_image);
cvReleaseImage(&norm_image);
cvReleaseMat(&norm_mat);
system("pause");//可加可不加
}
本代码经本人调试均已通过,而且已得到应用。
opencv图像灰化_opencv读入图像、灰度化、归一化、向量化相关推荐
- 图像的色彩类别,灰度化,二值化
灰度化:在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值.亮度值),灰度范围为0-255.一般常用的是加权 ...
- opencv学习1-3——通道变换,灰度化grayscale,二值化thresholding。
入手opencv,最好的方法就是对应着程序进行学习是一个很好的方法,通过一些单个程序来了解图形处理的一些知识.这篇文章将介绍下面三个小任务.通道变换,灰度化,普通二值化.本文以C++版本进行代码介绍. ...
- matlab读入图像语句,matlab读入图像
1.以文件打开方式读入图片 [fn,pn,fi]=uigetfile('*.bmp','选择图片'); I=imread([pn fn]); 2.直接读入图片 I=imread('F:examMatl ...
- 【无标题】用Qt+OpenCV做一个图像处理软件(灰度化)
初入坑,有问题请指正. 首先,点击菜单栏插入选项,从文件目录中选取一张图片 . 附代码 void MainWindow::on_charu_triggered() {QString filename= ...
- opencv 修改图像数值_opencv 修改图像数值_Python中使用OpenCV读取像素
如何在Python中遍历像素呢?请看代码: import numpy as np import cv2 import matplotlib.pyplot as plt src = cv2.imread ...
- java用opencv实现滤镜_opencv滤镜-二值化实现黑白滤镜
黑白滤镜 黑白滤镜非常简单,顾名思义就是图像只有黑色与白色,这实际上就是图像的二值化.实现的原理也非常地简单,设定一个阈值,假设为128,判断每个像素点的灰度值,大于128设为255(对应白色),小于 ...
- opencv 绘制坐标曲线_OpenCV手工实现灰度及RGB直方图
#include #include#include#include#include#include#include#include#include using namespacecv;using na ...
- python怎么计算图像梯度_opencv python图像梯度实例详解
这篇文章主要介绍了opencv python图像梯度实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一阶导数与Soble算子 二阶导数与拉普 ...
- 【图像处理】——图像的灰度化处理(Python实现三种方法——最大值法、平均值法、加权均值法、gamma校正)
目录 一.什么是图像的灰度化? 二.灰度化的几种方法(最大值法.平均值法.加权均值法.gamma校正) 1.直接调用函数:cv2.cvtColor() 图像颜色空间转换 2.最大值法 (1)概念 (2 ...
最新文章
- 用无序列表做的网站公告牌(Billboard)
- 湖北大学 计算机考研,湖北大学考研难吗?一般要什么水平才可以进入?
- 工作163:eachrt修改
- python深拷贝实现原理,js递归实现深拷贝
- 关于JAVA中的synchronized,一段不错的解释...
- 如何不让Oracle使用Linux的swap分区
- Windows系统cmd常用命令详解
- TypeScript 素描 - 接口
- RPM-YUM-源码
- 43种名车标志及来历
- MTSP遗传算法解决
- org.elasticsearch.common.util.concurrent.EsRejectedExecutionException 查询超时异常处理记录---一定要用单例模式
- 基音提取之短时自相关法
- 复习javascript入门到精通
- 【渝粤题库】广东开放大学 服务标准化 形成性考核
- linux log4j2.xml,动态配置log4j2.xml日志输出文件的位置
- 小傻蛋的妹妹跟随小甲鱼学习Python的第十三节013
- 基于阿里云容器镜像服务加速K8S镜像下载(二)
- SiamFC响应图热力图绘制
- fatfs应用层实例
热门文章
- 第三章:3.5 傅里叶变换
- java httpclient 获取cookie_java – 从httpclient 3转换为httpclient 4(Cookie策略)
- java mybatis拦截配置_SpringMvc拦截器配置_JavaEE框架(Maven+SpringMvc+Spring+MyBatis)全程实战教程_Java视频-51CTO学院...
- 第七讲 一阶常系数线性ODE
- 把2018年所有踩过的坑都记在这里。
- scrapy-1.2.1安装失败之解决方法
- PHP文件操作常用函数总结
- A Complete List of .NET Open Source Developer Projects
- 文字或者图片连续滚动
- 微软Http错误Code解析