當前位置:首頁 » 手機修圖 » 利用ps將圖片直方圖規范化
擴展閱讀
女生和渣男搞笑圖片 2023-08-31 22:07:09
嘻嘻長什麼樣圖片 2023-08-31 22:06:10

利用ps將圖片直方圖規范化

發布時間: 2023-05-20 10:38:03

1. ps中的直方圖怎麼找

在photoshop中,直方圖就是在一張圖片中,橫軸代表的是圖像中的亮度,由左向右,從全黑逐漸過渡到全白,縱軸代表的是圖像中處於這個亮度范圍的像素的相對數量,使用方法是:

1、打開「窗口--直方圖」;

2. ps直方圖怎麼看(判斷圖像色調)和ps如何看直

打開方式:菜單欄—窗口—直方圖。

一,認識直方圖

(通道:顏色)

3. photoshop 怎麼實現直方圖均衡化

圖形處理中有一種對比度變換,像顯示器就有對比度調節,PhotoShop也有圖片的對比度修改,對比度的提高可以使圖像細節清晰,相反,對比度的減小可以隱藏圖像的細節,在一定程度上使圖像柔和。

對比度變換其中一種比較簡單的方法是直方圖均衡化。
所謂直方圖就是在某一灰度級的象素姿叢氏個數占整幅圖像的象素比 h=nj/N,其中nj是灰度級在j的象素數,N是總象素數,掃描整幅圖像得出的h的離散序列就是圖像的直方圖,h求和必然=1,所以直方圖可以看成是象素對於灰度的概率分布函數。

直方圖是高低不齊的,因為象素灰度是隨機變化的,直方圖均衡化就是用一定的演算法使直方圖大致平和。

演算法如下:
對於一個直方圖
設 Pr(r)是原始圖像直方圖,Ps(s)是均衡化的直方圖,
由於其是一個概率分布函數
所以有 Ps(s)ds=Pr(r)dr (編輯關系,ds,dr是積分變數)
因為要進行均衡化,令 Ps(s)=1,
得 ds=Pr(r)dr/1
兩邊積分得 s=F Pr(r)dr (因為編輯關系,左邊F表示積分符號....-__-++)
數字圖像是離散的,因此離散化跡散上式得
sk=E{j=0,k}(nj/N) 左式k,j是離散量下標,因為編輯關系,E{0,k}表示下標0到k的連加符號,N是象素總數
由此得出每一象素的sk為均衡化後的正規化灰度(即灰度正規化到[0,1]),統計sk即可得出均衡化後的直方圖。
在均衡化過程中可以對每一象素映射到新的實際灰度值sk*255,就實現了圖像的變換
(嚴格理論中應該是灰度正規化到[0,1]區間,然後均衡化後的sk還要量化到原始的正規灰度以實現灰度合鄭行並,下面的BCB程序並沒有量化,而且255是固定灰度級,因為256色BMP的彩色表就是256個表項)

現在開始實踐
用BCB對一BMP灰度圖像進行直方圖均衡化處理,代碼如下
//----------------------------BCB6代碼

#include <vcl.h>
#pragma hdrstop
#include<stdio.h>
#include "Unit1.h"
#include"File1.h"

#pragma pack(1)

//BMP文件頭
struct BITMAPFILEHEADER_
{
short type;
int bfSize;
short re1,re2;
int Offbits;
};
//BMP信息頭
struct BITMAPINFO_
{
long size;
long width,height;
short planes,bitCount;
long comp,sizeImg;
long xpels,ypels;
long used,important;
};
//BMP彩色表項
struct COLOR_
{
char blue,green,red,re;
};
//------將BMP彩色表的數據校正到BCB TColor的數據。
void SwitchColor(long &c)
{
long blue=c& 0x000000ff;
long green=c& 0x0000ff00;
long red=c& 0x00ff0000;
c=(blue<<16) | green | (red>>16);
}

void xxx()
{
FILE *f=fopen("f:\\bbs_prev2.bmp","rb");
if(f==NULL) /*判斷文件是否打開成功*/
{
ShowMessage("File open error");
return;
}

fseek(f,0,0);//移動到開頭

//----------讀BMP文件頭
BITMAPFILEHEADER_ *bmph=new BITMAPFILEHEADER_();
if(fread((char*)bmph,sizeof(BITMAPFILEHEADER_),1,f)==NULL)
{
ShowMessage("File read error");
return;
}

//-----------讀BMP信息頭
BITMAPINFO_ *bmpi=new BITMAPINFO_();
if(fread((char*)bmpi,sizeof(BITMAPINFO_),1,f)==NULL)
{
ShowMessage("File read error2");
return;
}

//--------------讀彩色表
long *c=new long[bmph->Offbits-sizeof(BITMAPFILEHEADER_)-sizeof(BITMAPINFO_)];
fread((char*)c,bmph->Offbits-sizeof(BITMAPFILEHEADER_)-sizeof(BITMAPINFO_),1,f);

//----------顯示一些信息
Form1->Edit1->Text=IntToStr(bmph->bfSize);
Form1->Edit2->Text=IntToStr(bmpi->width);
Form1->Edit3->Text=IntToStr(bmpi->height);
Form1->Edit4->Text=IntToStr(bmpi->comp);
Form1->Edit5->Text=IntToStr(bmpi->used);

int i,j,k,wc;
long N=bmph->bfSize- bmph->Offbits;//象素總數
unsigned char *image=new char[N]; //點陣圖矩陣
unsigned char *newimage=new char[N];//變換後的點陣圖矩陣

fread(image,N,1,f);//讀入點陣圖矩陣

//---------直方圖數列初始化
//---------直方圖數列用來存儲正規化後的灰度
double *h=new double[255];//255個灰度級,保存原始圖像正規化灰度直方圖數據
for(i=0;i<255;i++)
h[i]=0.0;
double *nh=new double[255];//255個灰度級,保存變換後的圖像正規化灰度直方圖
for(i=0;i<255;i++)
nh[i]=0.0;

long *count=new long[255]; //每一灰度級的象素數量統計
for(i=0;i<255;i++)
count[i]=0;
for(i=0;i<N;i++)
{
count[image[i]]++;
}
//-----正規化灰度概率統計
for(i=0;i<255;i++)
{
h[i]=count[i]/(double)N;
}
//------正規化新灰度圖
double hc;
for(i=0;i<N;i++)
{
hc=0;
for(j=0;j<image[i];j++)
hc+=h[j];
nh[image[i]]+=hc; //保存新正規化灰度圖
newimage[i]=hc*255; //保存新圖像灰度索引
}
//----------顯示直方圖
for(i=0;i<255;i++)
{
//原始直方圖
Form1->Canvas->MoveTo(10+i,200);
Form1->Canvas->LineTo(10+i,200+h[i]*N);
//新直方圖
Form1->Canvas->MoveTo(300+i,200);
Form1->Canvas->LineTo(300+i,200+nh[i]*255);
}
//------顯示圖形
TColor *tc;
if(bmpi->width%4==0)//-----------因為BMP圖像4位元組對齊
wc=bmpi->width/4*4;
else
wc=(bmpi->width/4+1)*4;

long a;
long pos=0;
for( i=0;i<bmpi->height;i++)
{
for(j=0;j<wc;j++)
{
//-----原始圖形
a= c[image[pos]];
SwitchColor(a);
Form1->Canvas->Pixels[10+j][600-i]=a;
//------新圖形
a= c[newimage[pos]];
SwitchColor(a);
Form1->Canvas->Pixels[300+j][600-i]=a;
pos++;
}
}
fclose(f);
}

這個程序使用256色BMP文件,但程序代碼是針對灰度圖像的,用於彩色圖像時得出一些古怪色彩配合而已。

在對灰度圖像均衡化時
如果原始圖像對比度本來就很高,如果再均衡化則灰度調和,對比度降低。
在泛白緩和的圖像中,由於均衡化過程中會合並一些象素灰度,則會增大對比度,這里255灰度級太多,合並不明顯。
http://hi..com/j_fo/blog/item/09a6adc3f8078855b319a8ac.html
還有詳細的說明和圖解

4. 如何具體根據PS中的直方圖來調整圖片

第一個問題
你的色階和直方圖不一樣原因是你打開的色階是某一個圖層的,而直方圖是全部圖層合並起來的信息,當你有多個圖層時,在圖像-調整-色階中調出來的色階就灶爛兄是關於你當前選中層的色階信息,但直方圖默認是關於整個文檔的(直方圖下面源下拉列表中有三個選項,整個圖像,選中的圖層,復合圖像調整),你如果在圖層面板上添加色階調整圖層在最上層就會發現和直方圖顯示的一樣,或者將直方圖源下拉表中的值改為選中的圖層也會和色階中顯示的一樣。
第二個問題,驚嘆號,ps中驚嘆號表示超出列印色域,也就是隱襲超出cmyk所能表示的值,對應的還有超出web色域(不是web安全色)也就是超出rgb的值,用滑鼠點掉軟體會自動尋找未超出范圍而又與該顏色最相近的值替換
最後,至於怎麼調節就要用其他方式了,色相飽和度,曲線,色彩平衡,通道混合器等等,通過這些調整都會改變直方圖的分布,比如你說的那種效果可以用色彩平衡調節得到歷擾,這個你可以自己動手試試

5. 教你讀懂ps直方圖的實例教程據介紹

直方圖上可以看到整個圖片的階調信息和色彩信息。窗口--直方圖,可以打開直方圖,在色階中,可以看到直方圖,在曲線中也可以看到直方圖。在直方圖上,會有一座山或幾座山,這些山表示什麼呢。
方法/步驟
1、打開圖片,這是一個曝光比較正常的圖片,因為在直方圖上我們可以看到,不管是陰影、中間調和高光都是有像素分布的。如下圖所示。
2、打開另一張圖片,我們可以看到在直方圖上,它沒有暗調。說明它曝光過度了。如下圖所示。
3、調整後的效果。
4、我們可以看到下面的圖的直方圖上,是沒有高光的.,說明什麼呢,說明它曝光不足。當然這種相片也可以有。
5、稍微調整一下,移動高光的滑塊,向左移動哦。如下圖所示。
6、打開下面的圖片,看到的第一感覺就是比較灰。因為沒有高光和暗調。
7、高光和暗調往中間移動。
注意事項
最左邊的是暗調,最右邊的是高光,中間的是是間調。
以上就是ps直方圖的實例教程,大家現在對直方圖有沒有更深入的了解了,希望對打擊有所幫助!

6. 怎樣用Photoshop對灰度圖進行直方圖均衡化

photoshop直方圖均衡化案例調整可以通過色階、曲線等進行調整。執行「圖像--調整--色階」可以看到直方圖。
直方圖均衡化是通雹行過灰度變換將一幅圖象轉缺基換為另一幅具有均衡直方圖,即在每個灰度級上都具有相同的象素點數的過程。
直方圖的觀看規則就是「左黑右白」,左邊代表暗部,右邊代表亮部,而中間則代表中間調。縱向上的高度代表像素密集程度,越高,代伏肆謹表的就是分布在這個亮度上的像素很多。

7. 用photoshop cs4怎麼對圖像進行直方圖均衡化

1、ctrl+alt+l,自動色階。
2、手動調色階兄埋,用黑場和白場吸取畢塵洞色樣。
3、曲線調色。
4、圖像調整,匹配顏色,勾選中和選項。
方法手枯很多的,學會靈活運用喲