I think this is more of a general programming question than OpenCL. There are several free multi-purpose C/C++/... Image libraries out there which I would use if I were you to read in different image types and convert them to a useable format in memory.
Ideally, you will read in your TIFF and convert it on the host - performing image conversion/ on the GPU is not worth the effort as host-device transfers, file I/O and OpenCL overhead would make any speedup too small to even notice.
If image filtering is your goal, any image manipulation you perform in OpenCL should be done on a Bitmap style image anyway, as this is the most simple & efficient way of accessing image elements. So you should convert the TIFF to a 16/32bpp Bitmap array or Image2d data type on the host and then pass that to your OpenCL kernel.