[opencv] 图像保存格式的小问题

在使用图像作为中间结果被保存后读取时,尽量不要使用JPEG的格式。

因为JPEG格式是有损压缩的,对图像的通道像素值会产生影响。尤其是边缘部分,边缘上的彩色通道会出现串扰现象!!!

小demo:

>> A = zeros(800,1200,3);
>> A(201:600,596:605,1) = 255;
>> imwrite(A,‘R.jpg‘);
>> imwrite(A,‘R.bmp‘);
>> imwrite(A,‘R.png‘);

JPG格式:  

BMP:

PNG:

时间: 2024-11-07 19:43:09

[opencv] 图像保存格式的小问题的相关文章

Opencv 图像读取与保存问题

本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/49737357 本文仅对 Opencv图像读取与保存进行阐述,重在探讨图像读取与保存过程中应注意的细节问题. 1 图像读取 首先看一下,imread函数的声明: // C++: Mat based Mat imread(const string& filename, int flags=1 ); // C: IplImage based

opencv 删除二值化图像中面积较小的连通域

对于上图的二值化图像,要去除左下角和右上角的噪点,方法:使用opencv去掉黑色面积较小的连通域. 代码 CvSeq* contour = NULL; double minarea = 100.0; double tmparea = 0.0; CFileDialog dlg(true); if (dlg.DoModal()==IDOK) { CvMemStorage* storage = cvCreateMemStorage(0); IplImage* img_src= cvLoadImage(

opencv入门基础——图像读取,图像显示,图像保存

一,图像读取 如上图所示,从文件中导入图像用这个函数 retval=cv.imread(文件名,[,显示控制参数]) 显示控制参数,主要是这几个: cv.IMREAD_UNCHANGED cv.IMREAD_GRAYSCALE cv.IMREAD_COLOR 主要是控制读取的图片以灰度图的形式出现还是以彩色图的形式出现. 以下还有更多的其他控制参数:如图 二.图像显示 1. 如上图所示,显示图像用这个函数 None=cv.imshow(窗口名,图像名) 注:窗口名尽量不用中文,否则可能会报错 2

PHP《将画布(canvas)图像保存成本地图片的方法》

用PHP将网页上的Canvas图像保存到服务器上的方法 2014年6月27日 歪脖骇客 发表回复 8 在几年前HTML5还没有流行的时候,我们的项目经理曾经向我提出这样一个需求:让项目评审专家们在评审结束时用笔在平板电脑上进行电子签名. 这需要我们评审软件里提供这样一个功能:打开浏览器,登录,进入评审意见页,页面最下部有个方块区域,用户在这里用触摸笔进行签名,然后这个签名将会保持 的服务器上. 这样的一个需求在当时是让我大费周折,但如今想起来,如果用html5的canvas实现,真是太简单了.在

图像GIF格式介绍

1 图像GIF格式工作原理 GIF是用于压缩具有单调颜色和清晰细节的图像(如线状图.徽标或带文字的插图)的标准格式. GIF(Graphics InterchangeFormat)的原义是“图像互换格式”,是CompuServe公司在1987年开发的图像文件格式.GIF文件的数据,是一种基于LZW算法的连续色调的无损压缩格式.其压缩率一般在50%左右,它不属于任何应用程序.目前几乎所有相关软件都支持它,公共领域有大量的软件在使用GIF图像文件.GIF图像文件的数据是经过压缩的,而且是采用了可变长

OpenCV图像视频编程框架

? ? ? 接触OpenCV好几年了,一直只用OpenCV读入图像.视频,显示图像或者视频,由于公司图像算法都属于前端应用,因此一直没有使用OpenCV的内置函数,所有算法均要转化到C下面.所以目的很明确,OpenCV对于我来说就是一个Demo演示和调试工具. OpenCV :图像读取,图像保存,图像显示,视频读取,视频保存,鼠标画点.画圆.画矩形.画图. 1)图像保存 ? ? ? 为了方便每次都sprintf拼写图像路径,采用如下定义: ? ? ? void cvSaveImageNow(Ip

OpenCV —— 图像局部与部分分割(一)

背景减除 一旦背景模型建立,将背景模型和当前的图像进行比较,然后减去这些已知的背景信息,则剩下的目标物大致就是所求的前景目标了 缺点 -- 该方法基于一个不长成立的假设:所有像素点是独立的 场景建模 新的前景(物体移动的新位置) -- 旧的前景 (物体离开后留下的"空洞")-- 背景 cvInitLineIterator()  和  CV_NEXT_LINE_POINT() 对任意直线上的像素进行采样 // 从视频的一行中读出所有像素的RGB值,收集这些数值并将其分成三个文件 #inc

[转]OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放

[OpenCV入门教程之十三]OpenCV图像金字塔:高斯金字塔.拉普拉斯金字塔与图片尺寸缩放 2014-05-18 18:58 36007人阅读 评论(54) 收藏 举报 本文章已收录于:  OpenCV知识库 本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 知乎:http

大端格式、小端格式(转)

大端格式.小端格式 大端格式: 在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中,如图2.1所示: 图2.1 小端格式: 与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节.如图2.2所示: 图2.2 请写一个C 函数,若处理器是Big_endian的,则返回0:若是Little_endian的,则返回1 解答: int checkCPU( ) { union w     {        int  a;