imageprocessing

所属分类:图形图象
开发工具:Visual C++
文件大小:1858KB
下载次数:59
上传日期:2009-05-12 17:06:31
上 传 者yundoudou
说明:  单色及彩色半色调图像处理,图像误差扩散处理实现及评价处理
(Halftone monochrome and color image processing, image processing and error diffusion processing evaluation)

文件列表:
halftoningToolbox1_1\autumn.tif (213642, 2000-12-04)
halftoningToolbox1_1\barbara.tif (66348, 2006-03-31)
halftoningToolbox1_1\bed.m (3657, 2007-11-22)
halftoningToolbox1_1\bed_test.asv (3727, 2007-05-10)
halftoningToolbox1_1\bed_test.m (3757, 2007-11-22)
halftoningToolbox1_1\blockerrdiffdemo.m (30250, 2006-03-31)
halftoningToolbox1_1\block_color_demo.m (31089, 2006-03-31)
halftoningToolbox1_1\bnoise.asv (1533, 2006-03-31)
halftoningToolbox1_1\bnoise.m (1600, 2006-09-29)
halftoningToolbox1_1\bnoisepredist.mat (2074, 2006-03-31)
halftoningToolbox1_1\boat.tif (66392, 2006-03-31)
halftoningToolbox1_1\boatcolor.tif (198562, 2006-03-31)
halftoningToolbox1_1\cameraman.tif (65240, 2000-12-04)
halftoningToolbox1_1\canoe.tif (69708, 2000-12-04)
halftoningToolbox1_1\clip.m (303, 2006-03-31)
halftoningToolbox1_1\clock.tif (65670, 2006-03-31)
halftoningToolbox1_1\colerrdiffdemo.m (24589, 2006-03-31)
halftoningToolbox1_1\colordemo.m (9823, 2006-03-31)
halftoningToolbox1_1\colordither.m (2414, 2006-03-31)
halftoningToolbox1_1\ColorErrorDiff.m (9558, 2006-03-31)
halftoningToolbox1_1\color_model.m (2010, 2006-03-31)
halftoningToolbox1_1\colscreendemo.m (27043, 2006-03-31)
halftoningToolbox1_1\convert.tif (142490, 2006-03-31)
halftoningToolbox1_1\COPYRIGHT.txt (1504, 2006-03-31)
halftoningToolbox1_1\crt_char.m (904, 2006-03-31)
halftoningToolbox1_1\DisplayCMY.m (480, 2006-03-31)
halftoningToolbox1_1\disp_err.m (1657, 2006-03-31)
halftoningToolbox1_1\edged.asv (638, 2007-05-09)
halftoningToolbox1_1\edged1.m (636, 2007-05-10)
halftoningToolbox1_1\edged2.asv (638, 2007-05-09)
halftoningToolbox1_1\edged2.m (636, 2007-05-10)
halftoningToolbox1_1\edged3.m (636, 2007-05-10)
halftoningToolbox1_1\edgeenhancedemo.m (30195, 2006-03-31)
halftoningToolbox1_1\edgerrdiff_l.m (3667, 2006-03-31)
halftoningToolbox1_1\edgerrdiff_l_h.m (3040, 2006-03-31)
halftoningToolbox1_1\edgerrfixed.m (1931, 2006-03-31)
halftoningToolbox1_1\edge_color_demo.m (31728, 2006-03-31)
halftoningToolbox1_1\errdiff.m (1865, 2006-03-31)
halftoningToolbox1_1\errdiffdemo.m (22372, 2006-03-31)
halftoningToolbox1_1\errdiff_halftone.tif (59786, 2006-09-29)
... ...

{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f30\froman\fcharset238\fprq2 Times New Roman CE;}{\f31\froman\fcharset204\fprq2 Times New Roman Cyr;} {\f33\froman\fcharset161\fprq2 Times New Roman Greek;}{\f34\froman\fcharset162\fprq2 Times New Roman Tur;}{\f35\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f36\froman\fcharset178\fprq2 Times New Roman (Arabic);} {\f37\froman\fcharset186\fprq2 Times New Roman Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255; \red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{ \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\s1\ql \li0\ri0\keepn\nowidctlpar\faauto\outlinelevel0\rin0\lin0\itap0 \b\i\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 1;}{\*\cs10 \additive Default Paragraph Font;}}{\info{\author mongav}{\operator mongav}{\creatim\yr2002\mo9\dy1\hr18\min23}{\revtim\yr2002\mo10\dy18\hr2\min6} {\version3}{\edmins16}{\nofpages3}{\nofwords1028}{\nofchars5865}{\*\company univ. of texas}{\nofcharsws0}{\vern8247}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701 \dgvorigin1***4\dghshow0\dgvshow3\jcompress\viewkind4\viewscale110\nolnhtadjtbl \fet0\sectd \linex0\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3 \pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}} {\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 { \par }{\b\i Image halftoning}{ is the process of converting a high-resolution image to a low-resolution image, e.g. a 24-bit color image to a three-bit color image or an 8-bit grayscale image to a binary image, for printing and display. Until the late 1990s, printing presses, ink jet printers, and laser printers were only able to apply o r not apply ink to paper at a given spatial location. For grayscale printing, the ink dots were black. For color printing, a cyan, magenta, and yellow ink dot is possible at each spatial location. Many color printing devices can also produce a black ink do t. Low-cost liquid crystal displays (LCDs) have the same limitation in that they can only turn a pixel on or off. \par \par Halftoning is more complicated than simply truncating each multi-bit intensity to the lower resolution. Simple truncation would give poor ima ge quality because the quantization error would be spread equally over all spatial frequencies. Instead, binary halftoning would try to compute a pattern of binary dots to achieve the illusion of a multi-bit image. Halftoning may produce a low-resolution multi-bit image, as occurs in display devices, halftone image codecs, photocopiers, and laser printers. \par \par The most common halftoning methods in current use may be categorized as }{\i classical screening, dithering with blue noise, direct binary search, and error diffusion}{. Of these, the toolbox demonstrates }{\i classical screening, dithering with blue noise and multiple flavors of error diffusion}{ with special focus on halftoning research in error diffusion over the last decade. Halftoning methods from all four catego ries may be found in modern desktop printers. Of these halftoning approaches, error diffusion is the particular focus of our research group. Error diffusion is particular interesting to analyze because it involves a non-separable infinite impulse response filter in addition to the nonlinearity introduced by the severe quantization. \par \par }{\b\i A fast paced introduction to the methods follows: \par }{ \par }{\b Classical screening}{, which is the oldest halftoning method in printing, applies a periodic mask of thresholds to each color o f the multi-bit image. Pixels can converted to zero (black) if they are below the threshold or one (white) otherwise. With the continuous-tone (high-resolution) images taking pixel values from 0 to 1 inclusive, a mask of M pixels has thresholds 0, 1/M, 2/ M , ..., 1, which supports M + 1 intensity levels. The ordering of the thresholds in the mask has a significant effect on the visual quality of the halftone. At mid-gray, half of the pixels in the mask would be turned on, and half would be turned off. A clu ster dot screen would cluster the dots in a connected way, which helps mitigate ink spread when printed. A dispersed dot screen would spread out the dots, which is well suited for low-cost displays. \par \par To a very rough approximation as a linear spatially-inva riant system, the human visual system is lowpass. With respect to noise in still images, the human visual system is in general less sensitive to uncorrelated high-frequency noise than uncorrelated low-frequency noise. Dithering with blue noise (i.e. high- f requency noise) attempts to place the quantization noise from the halftoning process into the higher frequencies. Noise shaping is a characteristic of error diffusion as described below, but large periodic masks of thresholds (e.g. 128 x 128 pixels) can b e designed to produce halftones with blue noise. \par \par }{\b Direct binary search}{ is an iterative method to refine a halftone to improve visual quality.' Direct binary search toggles pixels and swaps pixels among neighboring pixels to minimize a distortion measure, s uch as a weighted mean square error, between the halftone and the original image. The weighting is generally based on a linear spatially-invariant model of the human visual system. Direct binary search may require thousands of passes over the halftone, an d its convergence is dependent on the initial starting point. However, this method produces the best grayscale halftones to date. Related to direct binary search are iterative methods for designing stochastic screens. \par \par }{\b Error diffusion}{ was introduced in 197 6 by Floyd and Steinberg. Error diffusion produces halftones of much higher quality than classical screening, with the tradeoff of requiring more computation and memory. Screening amounts to pixel-based thresholding, whereas error diffusion requires a nei g hborhood operation and thresholding. The neighborhood operation distributes the quantization error due to thresholding to the unhalftoned neighbors of the current pixel. The term "error diffusion" refers to the process of diffusing the quantization error a long the path of the image scan. In the case of a raster scan, the quantization error diffuses across and down the image. "Qualitatively speaking, error diffusion accurately reproduces the graylevel in a local region by driving the average error to zero t hrough the use of feedback" [Kite, Dissertation, 19***]. \par \par These halftone methods may be classified into three categories--- amplitude modulation (AM), frequency modulation (FM) and AM-FM hybrid halftoning. In AM halftoning, the dot size is varied depending on the graylevel value of the underlying grayscale image while the dot frequency is held constant, e.g. clustered-dot ordered dither. FM halftones have a fixed dot size and shape, but the frequency of the dots varies with the graylevel of the underlying g r ayscale image. Conventional digital FM halftones have a fixed dot size of one pixel, e.g. those produced by dispersed-dot ordered dither and error diffusion. AM-FM halftones have variable dot shape/size, and variable dot frequency that depends on the gray level value to be reproduced. Examples of AM-FM halftones include "green-noise" halftones by Levien, halftones on space filling curves, and halftones with texture control. \par \par }{\b\i Instructions for Running the TOOLBOX: \par }{ \par 1.) Unzip the file toolbox.zip to extract the folder halftoning \par 2.) Add the folder to the MATLAB search path list by choosing "set path" from the File Menu in the MATLAB command window. \par 3.) Run the file halftoningdemo from the MATLAB command prompt. The rest of the interaction is handled by the Graphical User Interface. \par \par Please make sure that the version of MATLAB used has the SIGNAL PROCESSING TOOLBOX. In case a particular SIGNAL PROCESSING TOOLBOX function is not available, an error message will be generated to indicate the same. It is advised tha t the toolbox be run on MATLAB version 5.3 or higher. \par \par }\pard\plain \s1\ql \li0\ri0\keepn\nowidctlpar\faauto\outlinelevel0\rin0\lin0\itap0 \b\i\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Known Warnings and errors \par }\pard\plain \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\i \par }{MATLAB has problems displaying matrix valued (non-scalar) values in its GUI text boxes. However, it reads in the values correctl y as long as the user enters them in standard MATLAB matrix format. To make sure that the values do not disappear from the text box (as would happen if a vector valued entry is attempted to be displayed in a GUI ) we convert those entries to a String and do some String processing to achieve the display. This generates some warnings like \'93non-scalar input not acceptable\'94, these warnings have NO IMPACT on the halftoning results. These warnings are likely to be seen when running the screening demos for grayscale and color halftoning. \par }}

近期下载者

相关文件


收藏者