Skip to main content

Posts

Showing posts with the label Digital Halftoning

Enhanced Block Truncation Coding Image using Digital Multi-tone Screen

Abstract— An improved version of Block Truncation Coding (BTC) termed Multitone Block Truncation Coding (MTBTC) is proposed. The presented framework exploits the digital multi toning strategy to obtain a superior quality BTC images. Previously, the halftone techniques such as ordered dithering, error diffusion and dot diffusion are extended to obtain different version of BTC. Though it performs good, there are still many scope for improvements. In recent times digital multitoning is gaining prominence and advanced multitone screens such as direct multibit search and clustered dot screens are developed. This multitone screen can enhance the visual quality significantly and offer more homogenous and noise free output for halftone images. Considering this properties, an upgradation to the halftone based BTC is proposed in this paper through the use of sophisticated multitone screens. From the simulation results, it is concluded that the proposed framework can provide very high qualit...

Digital Multitoning - Dispersed Dot MATLAB Code

function MT=DDMT() %DDMT- Dispersed  Dot Multitoning (MT) %Code by: Sankarasrinivasan S, %Multimedia Signal Processing Lab %NTUST, Taipei %Input Image im=imread('cameraman.tif'); %Reference %K. Chandu M. Stanich C. W. Wu B. Trager "Direct multi-bit search (DMS) screen algorithm" Proc. 19th IEEE Int. Conf. Image Process. pp. 817-820 Sep./Oct. 2012. %Dispersed Dot Multitone Screen generated using the referred paper %3-tone image require two screens DA=[ 141 189 208 102 251 174 217 165 198 252 204 129 180 150 217 249 174 245 69 223 145 191 134 245 107 137 188 224 244 209 160 199 219 97 231 123 197 235 207 83 213 231 173 158 142 177 239 147 188 163 215 139 241 101 171 227 152 133 238 197 251 193 136 228 89 252 152 203 82 221 116 249 190 211 167 222 99 214 85 207 156 196 227 177 247 98 205 162 94 243 113 185 165 234 182 242 236 185 135 212 148 194 233 182 218 195 226 206 247 125 202 140 210 159 240 172 225 107 142 239 139 175 155 96 194 173 221 176 130 217 ...

Clustered-Dot Screen Design for Digital Multitoning - MATLAB Code

Digital Multi-toning is simply an up-gradation of conventional halftone technique. In halftone, a gray scale image is converted to a binary image useful for black and white printing (only use black cartridge). Similarly, digital color halftoning deals with production of printable format color images. Multitoning is a slight variation to halftone in which instead of binary image, it also use intermediate values of gray scale. function [Y]=CDM() %CDM- Clustered Dot Multitoning %Code by: Sankarasrinivasan S, %Multimedia Signal Processing Lab %NTUST, Taipei %Input Image im=imread('cameraman.tif'); %Reference % Y. F. Liu and J. M. Guo, "Clustered-Dot Screen Design for Digital Multitoning," in IEEE Transactions on Image Processing, vol. 25, no. 7, pp. 2971-2982, July 2016. %Clustered Dot Multitone Screen- Genereated using the referred paper. DA=[130 94 143 158 176 182 121 159 216 247 254 136 161 169 39 52 239 73 10 27 98 75 9 60 144 192 227 212 199 183...

Bayer's Digital Halftoning - (Dispersed and Clustered Dot) (Bayers Halftone) MATLAB and Python Code

To understand digital halftoning and ordered dithering please check this page http://imageprocessing-sankarsrin.blogspot.tw/2016/12/digital-half-toning-ordered-dithering.html Check the code Python: Ref:  https://github.com/SankarSrin/Digital-Halftoning MATLAB Code: %%%%%%%Function to generate Bayer's Halftone Patterns%%%%%%%%%% %%   Author: %%   Mr. Sankarasrinivasan %%   Research Fellow, Multimedia Signal Processing Lab, NTUST, Taiwan %%   Advisor: Prof. Jing Ming Guo %%   Dated: Apr, 2018 %%Details %%Bayers(im,met) im==> input image; %% met=1; Bayers Dispersed Dot && met=2; Bayers Clustered Dot function [HOD]=Bayers(im,met) im=im2double(im); [s1 s2]=size(im); if (met==1) %Bayers Dispersed Dot DA=[00 48 12 60 03 51 15 63;     32 16 44 28 35 19 47 31;     08 56 04 52 11 59 07 55;     40 24 36 20 43 27 39 23;     02 50 14 62 01 49 13 61;   ...

Dot Diffusion Halftone (Knuth Halftoning, Mese Vaidyanathan Halftoning)

For introduction to Digital Halftoning refer to the following  http://imageprocessing-sankarsrin.blogspot.tw/2016/12/digital-half-toning-ordered-dithering.html http://imageprocessing-sankarsrin.blogspot.tw/2017/04/digital-half-toning-error-diffusion.html Dot Diffusion techniques is an improvisation of error diffusion with parallel processing feature of Ordered dithering. Basically it consist of two matrix such as Class and Diffusion Matrix. Class Matrix (CM) - Determines the order in which the pixels are processed in a block. (in other techniques raster or serpentine scan order is adopted). Note: All the blocks will be processed in parallel.  For example in Knuth Class matrix, '0' indicates the index of the first pixel to be processed and in further, pixels are processed with respect to positions of 1,2..63. Distribution Matrix - Provides the weight-age of error that has to be distributed to neighborhood pixels Abstract  Digital halftones...

PPI, LPI and DPI - Digital Halftoning

PPI – Pixel per Inch – Image True Resolution (Display monitor default – 72ppi) LPI – Lines per Inch (No of Halftone Cells per inch)   – Printing   Newsprint- 85-110 lpi;   Consumer Magazine-133-150 lpi;   Fine Quality Art Book- 150-220lpi; DPI – Dots Per Inch – Printer Dot Density (Typical 600 dpi) * In Photoshop, Pixels/Inches actually specify LPI of the output to be printed. 

Digital Half-toning Error Diffusion Method (Floyd-Steinberg) - MATLAB Code

Introduction to Digital Half toning is provided in the below link http://imageprocessing-sankarsrin.blogspot.tw/2016/12/digital-half-toning-ordered-dithering.html The halftones are generally obtained by thresholding each image pixel with a certain value (ex. 128). In error diffusion, the error is computed between the actual and obtained output and it is distributed to the neighborhood pixels. Floyd-Stein berg, Jarvis, Stucki kernels are widely adopted  to distribute the error. The Error Diffusion half toning is as follows 1) image(x,y) > 128  Apply thresholding (assume  the image pixel value is 157,  in that case, 255 will be assigned to output). ( as the half toning corresponds to two values 0 and 255) 2) Compute the error between actual and obtained output    E=   255-157= 98 3) In case of floyd steinberg the value 98 is distributed along the neighborhood pixels 4) This steps are performed in sequence and serpentine scan yield...

Digital Half Toning - Ordered Dithering - MATLAB Code Bayer/ Ulichney

Digital Half-toning is a technique to convert the gray scale / color image (in the range 0-255) to binary images (in the range 0-1)  that is useful for printing (especially black and white printers). Though at first glance dots are clearly visible, as Human Vision System is a low pass filter, when dots are printed closely and viewed from the specific distance it can be perceived as a continuous tone image (i.e. gray scale). In general, half toning techniques is widely used in newspapers, journals and magazines printing.  Halftoning algorithms aims for better #Image Quality #Low Complexity #Optimal ink usage Coming to the topic, Ordered dithering is one of the standard technique to produce halftone image from continuous (gray scale) images. Let us assume, the first block containing 'B' is an image matrix and the  'H' is the threshold matrix. And the process is simply a element wise (pixel wise) comparison; if element of B > H (g...