opencv读取图像的灰度值并显示出来
通过双层循环,遍历所有的像素值,再输出灰度值即可。图片太大,所有只选择20行和20列进行输出。
昨天要用到图片的灰度值,脑子突然短路了,忘了存储灰度图的数组,存放的就是图片的灰度值,还以为要用什么函数才能读取图片的灰度值,忙活了半天,瞎忙活,主要问题还是在对图片的处理不够熟悉。
我写了两个,第一个就是遍历所有像素点,输出灰度图矩阵存储的每个像素点的灰度值。第二个是带有输出图片的行、列以及通道数的小程序,顺便也输出一下灰度值。不想把他们整合到一起了,就都放这边,供大家参考学习。
#include <opencv2/imgproc/imgproc.hpp> //头文件
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>
#include <iostream>
using namespace cv; //包含cv命名空间
using namespace std;int main()
{// 【1】读入一张图片Mat srcImage = imread("1.jpg",0),dstImage;dstImage = srcImage.clone();int rowNumber = dstImage.rows; //行数int colNumber = dstImage.cols*dstImage.channels(); //列数*通道数=每一行元素的个数for(int i = 0; i < 20; i++) //行循环,可根据需要换成rowNumber{uchar* data = dstImage.ptr<uchar>(i); //获取第i行的首地址for(int j = 0; j < 20; j++) //列循环,同理{int intensity = data[j];cout << intensity << " " ;}cout << endl;}//cvtColor(srcImage,dstImage,CV_BGR2GRAY);// 【2】在窗口中显示载入的图片//imshow("效果图",dstImage);// 【3】等待按任意键窗口自动关闭waitKey();return 0;
}//==================================================================================#include <iostream>
#include <opencv2/opencv.hpp> //头文件
using namespace cv; //包含cv命名空间
using namespace std;void main( )
{ // 【1】读入一张图片,载入图像Mat srcImage = imread("1.jpg", 0);int width,height,channels;height = srcImage.rows;width = srcImage.cols;channels = srcImage.channels();for(int i = 0; i < height; i++){uchar* data = srcImage.ptr<uchar>(i);for(int j = 0; j < width; j++){//uchar val = ((uchar *)(srcImage.data + i * srcImage.step))[j];printf("gray value = %d\n",data[j]);}//printf("\n");}cout << "height = " << height <<endl<< "width = " << width << endl<< "channels = " << channels << endl;// 【2】显示载入的图片imshow("【原始图】",srcImage);// 【3】等待任意按键按下waitKey(0);
}
opencv读取图像的灰度值并显示出来相关推荐
- 8bit黑白图像的灰度值范围是_浅谈工业CT图像灰度值
工业CT使用的X射线检测作为无损检测的主要方法之一,与其他方法相比具有直观.准确等优点.射线检测中垂直于射线透照方向的缺陷尺寸可精确测量,但平行于射线透照方向的缺陷尺寸无法直接测量得到,而未焊透.根部 ...
- php 读取图片bgr,OpenCV读取图像为BGR
OpenCV读取图像为BGR 以下程序演示了如何将彩色图像作为BGR类型图像读取并使用JavaFX窗口显示. 在这里通过将IMREAD_COLOR标志传递给imread()方法以及保存彩色图像路径的S ...
- 利用python opencv实现图像自适应二值化
对灰度图像利用阈值得到一个二值化的图像,是常最常用的图像处理技术之一.例如,灰度大于127的图像设置为1.小于127的设置为0,这种处理便是固定阈值127的二值化处理. 自适应的二值化处理不同于固定阈 ...
- OpenCV访问像素点的灰度值
1.Mat矩阵数值的存储方式 这里以指针的方式访问图像素为例 (1)单通道 定义一个单通道图像: cv::Mat img_1 = (320, 640, CV_8UC1, Scalar(0)); 对于单 ...
- python opencv 读取图片_Python opencv 读取图像
对于 matlab 起家做数字图像处理的人来讲都非常适应matlab对图像处理的操作和思路,尤其是它可以非常方便直观的看到图像的RGB值. 由于最近在研究深度学习的计算机视觉方面的东西,于是完全自学接 ...
- Pytorch+Opencv 读取图像 归一化与逆归一化
在深度学习工程中,有时需要利用opencv对图像进行读取后传入深度学习模型中 import cv2img = cv2.imread(filepath, 1) 这里的img是narray格式,openc ...
- linux opencv打开图片路径,OpenCV读取图像_显示图像_保存图像
读入图像﹑显示图像和保存图像是图像处理过程中最基本的,也是必不可少的操作. 配置好OpenCV 以后,包含以下两个头文件: #include "cv.h" #include &qu ...
- OpenCV读取图像_显示图像和保存图像
配置好 OpenCV 以后,包含以下两个头文件: #include "cv.h" #include "highgui.h" IplImage* image=cv ...
- 8bit黑白图像的灰度值范围是_数字图像处理基本知识
1.数字图像: 数字图像,又称为数码图像或数位图像,是二维图像用有限数字数值像素的表示.数字图像是由模拟图像数字化得到的.以像素为基本元素的.可以用数字计算机或数字电路存储和处理的图像. 2.数字图像 ...
最新文章
- 刚刚,百度宣布王海峰升任CTO
- 这个北航妹子也太卷了...
- IPSec 之 Server2003Cisco路由器(1)
- [票据打印]打印走纸控制(1) - 设置纸型
- linux 静态配置多个ip,linux 配置静态IP
- const * 和 * const 的区别
- 贪婪匹配和非贪婪匹配的区别
- 如何判断文本文件的编码格式?
- java poi 操作ppt
- 中国风吉祥纹样底纹背景,艾草绿和天青色趋势色彩
- cvFilter2D() 卷积初步了解
- 计算机操作系统张尧学第四章课后答案,计算机操作系统 课后习题答案 张尧学...
- 机器学习十大算法都是何方神圣?看完你就懂了
- 【Tensorflow教程笔记】使用 TPU 训练 TensorFlow 模型
- android吸顶效果,RecyclerVIew实现悬浮吸顶效果
- GSM/GPRS之一-GSM基础知识
- IE浏览器无法打开HTTPS解决办法
- Excel如何统计数据个数
- Mysql 循环更新
- DFC Search In Depth-转