How to change pixel size?
6 次查看(过去 30 天)
显示 更早的评论
How do I specify pixel size in Matlab? Can I specify the calibration factor directly in the code? I would like to change the initial pixel size from 1mm to 0.29mm.
The image that I am analyzing does not have an object that I can calibrate.
0 个评论
采纳的回答
Image Analyst
2012-7-11
Yes. You can define a calibration factor of 0.29 mm per pixel. Then just multiply your pixel measurements by 0.29 for lengths and 0.29^2 for areas.
2 个评论
Walter Roberson
2015-7-28
If you pulled out an axis length from regionprops, multiply the length by 0.29. If you pulled out an area from regionprops, multiply the area by 0.29^2. Or more likely 0.294 .
更多回答(1 个)
Walter Roberson
2012-7-11
There is no way to change pixel size in MATLAB, except sometimes by using operating-system specific calls to interact with the display. It is not possible on LCD displays (each LCD segment is a fixed physical size), and not possible on LED displays, and it is not possible most CRTs.
Pixel size was not really a meaningful concept on the late 1970's plasma displays used in the Tektronix 4010 and Tektronix 4014 (only dot size), so I will skip discussion of those.
In order to alter pixel size on a CRT display, the display has to be implemented in one of two ways:
- As alternating continuous bands of phosphors of different colors; or
- As multiple phosphor layers that get activated at different energies
In both of these implementations, the pixel size can be altered by altering the precise timing of the firing of the electron guns so that the firings are closer together or further apart. There is usually a practical lower bound on pixel size when using these technologies: when the phosphor bands are activated too closely together, you get "electron bleed" between the activation areas that causes the areas of illumination to merge together and usually to distort into ovals.
Somewhere around the late 1960's or early 1970's, CRT displays were made sharper by putting in metal meshes of circles, thus only allowing the electrons to hit the phosphors at precise locations. This was later followed by the Sony Trinitron technology of using very precisely located small stripes of phosphors rather than continuous bands of phosphors. With either mechanism, you cannot change the pixel size.
There might still be some manufacturers of CRT displays that allow you to change dot size, but my recollection is that the end of production for consumer CRT displays that it could be achieved on, was somewhere around 1983. There is a related sub-pixel display technology (whose name escapes me this early in the morning) that is used on military-quality RADAR displays and for a quite small commercial sector, so you might be able to find a display of relatively recent manufacturer. You would, however, be unlikely to be able to afford the display. And there would be no support built into MATLAB for it.
2 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!