不同灰度级的图像

2024-04-17 23:48
文章标签 灰度级 图像 不同

本文主要是介绍不同灰度级的图像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学习DIP第0天

更多细节参考:http://face2ai.com/DIP-1-1-不同灰度级的图像/

结论一:对于细节较多的图像,当图像大小(N)不变的情况下,灰度级别对于感官质量相对独立;

解释:如果图像细节较多,降低灰度级别,视觉上感觉差别不大

代码编写比较随意,未进行性能优化。只为观察效果:

 

#define K 1 //灰度级别
#define STEP (256/(1<<K))
int main(){//char name[50];IplImage * image = cvLoadImage("e:\\OpenCV_Image\\airplane.jpg",0);//IplImage * result = cvCreateImage(cvGetSize(image),8,1);cvNamedWindow("原图");cvNamedWindow("变换");cvShowImage("原图",image);for(int i=0;i<image->width;i++)for(int j=0;j<image->height;j++){int value=cvGetReal2D(image,i,j);int step=STEP;while(value>step){step+=STEP;	}value=step;cvSetReal2D(image,i,j,value);}cvShowImage("变换",image);//sprintf(name,"%s%d%s","e:\\OpenCV_Image\\airplane_",K,".jpg");//cvSaveImage(name,image);cvWaitKey();cvReleaseImage(&image);return 0;}


 

 

 

以上三张图从左到右从上到下,分别是:原始图像,K=1,2,3,4,5,6,7,8(1阶为二值化图像,8阶为原始图像灰度图)

问题:对于同一分辨率下的图片如何评价其细节的多少。。。

这篇关于不同灰度级的图像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/913202

相关文章

加载动态数据,不同环境判断

加载动态文件时,需添加随机数,独立PLAYER则不需要,只需要添加以下判断即可 if (Capabilities.playerType == "StandAlone" || Capabilities.playerType == "External") {}else {infoXMLString += "?" + Math.random();} Capabilities.playerT

图像数据不足时的处理方法

一个模型所能提供的信息一般来源于两个方面,一是训练数据中蕴含的信息;二是在模型的形成过程中(构造,学习,推理),人们提供的先验信息。训练数据不足时,说明模型从从原始信息获取的信息比较少,要想保证效果,就要更多的先验信息。先验信息可以作用在模型上,例如让模型采用特定的内在结构,条件假设;先验信息也可以直接施加在数据集上,即根据特定的先验假设去调整,变换或扩展训练数据,让其展现出更多更有用的信息,以利

1、去除图像中的alpha通道或透明度

自从appstore提交app改变后,虽然提交的流程还是和原来一样,但是相比以前还是有很大的改动,本来就不太喜欢 English,改版之后很多东西都变了,开发一个app就已经够他妈的蛋疼啦,上传一个app居然还要折腾我一翻,我只能说蛋蛋都碎了。。。不过,我除开精通iOS开发还略懂PS技术,所以这个东东还是困不住我,哈哈。下面就把“去除图像中的alpha通道或透明度”分享给everybody...

力扣HOT100 - 62. 不同路径

解题思路: 动态规划 注意要初始化第一行和第一列的值 class Solution {public int uniquePaths(int m, int n) {int[][] dp = new int[m][n];for (int i = 0; i < m; i++) {dp[i][0] = 1;}for (int j = 0; j < n; j++) {dp[0][j]

面对不同种类的处理结果——result type=

Struts2中有很多不同种类的处理结果,有action也有视图文件。比较常见的情景就是我们要一个action链接到另一个action应该怎么做呢?我在这里就做了一个小例子 JSP文件内容 <%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@ taglib

[机缘参悟-177] /[创业之路-110] :不同公司选人的标准,体现公司发展的阶段、制度成熟度以及与自己的紧密度

目录 前言:选人的标准与顺序关系 1. 过命(深厚的友情或伙伴关系) 2. 背靠背(相互信任和支持) 3. 信任(人际关系中的关键要素) 4. 善良本性(人的天性之一) 5. 做人做事靠谱(后天形成的性格特质) 6. 三观(世界观、人生观、价值观) 1. 世界观 2. 人生观 3. 价值观 评估方法 7. 理念、理想、愿景(基于三观的未来规划) 理念 理想 愿景 评

jenkins配置不同版本nodeJS,保姆级叫你配置

问题描述:公司jenkins被改了nodejs版本适配其他项目导致以前的项目构建失败,原因就是nodejs版本太高或太低导致,这里教大家不去更改服务器默认版本,当需要特殊版本直接在jenkins里配置即可。 过程 1、安装nodeJS插件 1.1点击管理 1.2管理插件 1.3检索插件并安装 1.4查询是否安装 2、添加具体版本 2.1管理jenkins 2.

【OpenCV 基础知识 4】分离图像通道

cvSplit()是openCV中的一个函数,它分别复制每个通道到多个单通道图像。 void cvSplit( const CvArr* src, CvArr* dst0, CvArr* dst1, CvArr* dst2, CvArr* dst3 );.cvSplit()函数将复制src的各个通道到图像dst0,dst1,dst2和dst3中。如果源图像少于4个通道的情况下,那么传递给cvSpl

英伟达发布 VILA 视觉语言模型,实现多图像推理、增强型上下文学习,性能超越 LLaVA-1.5

前言 近年来,大型语言模型 (LLM) 的发展取得了显著的成果,并逐渐应用于多模态领域,例如视觉语言模型 (VLM)。VLM 旨在将 LLM 的强大能力扩展到视觉领域,使其能够理解和处理图像和文本信息,并完成诸如视觉问答、图像描述生成等任务。然而,现有的 VLM 通常缺乏对视觉语言预训练过程的深入研究,导致模型在多模态任务上的性能和泛化能力受限。为了解决这个问题,英伟达的研究人员发布了 VILA

DPDK:用rte_wmb()来保序,对ARM和IA而言,RTE_WMB()的实现有何不同

rte_wmb()函数在DPDK中用于实现写入屏障(Write Memory Barrier),它的作用是确保在CPU执行写操作之前,所有先前的写操作已经被完全刷新到内存中。这个函数在IA和ARM处理器上的实现有一些不同。         对于Intel Architecture (IA)处理器而言,rte_wmb()函数的实现非常简单,它直接调用了IA架构提供的mfence指令