【发布时间】:2017-10-31 14:45:25
【问题描述】:
我有一个值向量,我想以某种方式更改值,使其直方图更接近使用 MATLAB 的均匀分布。我知道 MATLAB 中的 histeq 将图像作为输入并假设密度在 0-255 范围内。我正在寻找更通用的 histeq 版本。
【问题讨论】:
-
为什么不将您的矢量缩放为图像并使用图像工具?
我有一个值向量,我想以某种方式更改值,使其直方图更接近使用 MATLAB 的均匀分布。我知道 MATLAB 中的 histeq 将图像作为输入并假设密度在 0-255 范围内。我正在寻找更通用的 histeq 版本。
【问题讨论】:
您正在寻找全面的对比度拉伸,对吗?如果是这样,此功能将起作用。如果您不使用 8 位整数,则可以将 K 更改为向量中的最大值。
function [result] = myfscs(image)
K=255;
A= min(image(:));
B= max(image(:));
P=K/(B-A);
L=A*K/(B-A);
J = (P .* image - L);
result = uint8(J); % doesn't have to be a uint8 returned
【讨论】: