图像的点运算
所謂點(diǎn)運(yùn)算,是指像素值(像素點(diǎn)的灰度值)通過(guò)運(yùn)算之后,可以改善圖像的顯示效果。這是一種像素的逐點(diǎn)運(yùn)算。
點(diǎn)運(yùn)算又稱(chēng)為“對(duì)比度增強(qiáng)”、“對(duì)比度拉伸”,“灰度變換”(體現(xiàn)了點(diǎn)運(yùn)算在哪些方面改變圖片的顯示效果)。
?
一.線(xiàn)性點(diǎn)運(yùn)算
1.1 說(shuō)明
1.2 示例
以lenna圖像為例,點(diǎn)運(yùn)算代碼如下:
close all; clear all; I = imread('lenna.jpg'); I1 = 1.5 * I; %增強(qiáng)對(duì)比度 I2 = 0.8 * I; %減弱對(duì)比度 I3 = -1 * int8(I) + int8(255); %黑白反轉(zhuǎn) subplot(2, 2, 1), imshow(I), title('原始圖像') subplot(2, 2, 2), imshow(I1), title('對(duì)比度增強(qiáng)') subplot(2, 2, 3), imshow(I2), title('對(duì)比度減弱') subplot(2, 2, 4), imshow(I3), title('黑白反轉(zhuǎn)')處理后的圖像顯示如下:
?
?
二.非線(xiàn)性點(diǎn)運(yùn)算
2.1 說(shuō)明
非線(xiàn)性點(diǎn)運(yùn)算對(duì)應(yīng)于非線(xiàn)性映射函數(shù),典型的映射包括平方函數(shù),對(duì)數(shù)函數(shù),截取(窗口函數(shù)),閾值函數(shù),多值量化函數(shù)等。
2.2 示例
- 閾值化處理
閾值化處理是最常用的一種非線(xiàn)性運(yùn)算,它的功能是選擇一閾值,將圖像二值化,用于圖像分割及邊緣跟蹤等處理。
代碼如下:
close all; clear all; I = imread('lenna.jpg'); T = mean2(I); %設(shè)定初始閾值 done = false; while ~doneG = I > T;Tnext = 0.5 * (mean(I(G)) + mean(I(~G)));done = abs(T - Tnext) < 0.5;T = Tnext; end G = im2bw(I, T/255); %根據(jù)確定的閾值進(jìn)行圖像二值分割 subplot(1, 2, 1), imshow(I), title('原始圖像'); subplot(1, 2, 2), imshow(G), title('二值圖像');?處理后的圖像顯示如下:
- 直方圖均衡化
如果一副圖像的像素占有很多的灰度級(jí)而且分布均勻,那么這樣的圖像往往有高對(duì)比度和多變的灰度色調(diào)。
代碼如下:
clear all; close all; I = imread('lenna.jpg'); subplot(2, 2, 1), imshow(I), title('原始圖像'); subplot(2, 2, 2), imhist(I); G = histeq(I); % 灰度直方圖的均衡化 subplot(2, 2, 3), imshow(G), title('直方圖均衡化后圖像'); subplot(2, 2, 4), imhist(G);?處理后的圖像顯示如下:
?histeq的實(shí)現(xiàn)代碼如下:
clear all; close all; I = imread('lenna.jpg'); I = im2double(I); [M, N] = size(I); [counts, x] = imhist(I); % counts:灰度值的個(gè)數(shù),x:灰度值 location = find(counts ~= 0); % 找到所有像素個(gè)數(shù)不為0的灰度級(jí)位置 minCDF = min(counts(location)); % 找到像素?cái)?shù)最少的灰度級(jí) for i = 1 : length(location)CDF = sum(counts(location(1 : i))); % 計(jì)算各個(gè)灰度級(jí)像素的累計(jì)分布P = find(I == x(location(i))); % 找到灰度級(jí)所在位置I(P) =(CDF - minCDF) / (M * N - minCDF); % 灰度變換公式 end數(shù)學(xué)推導(dǎo)查看
轉(zhuǎn)載于:https://www.cnblogs.com/minisculestep/p/4851897.html
總結(jié)
- 上一篇: zabbix应用之短信报警
- 下一篇: JQuery 判断checkbox是否选