I trying to measure the fiber length using digital imaging processing and I want to improve accuracy of length. I am using 2D images in BMP format with 300 DPI. The images does not have scale bar information.
What program are you using to do your image processing?
Many programs have a way to show the file information:
ImageJ: Image > Show Info
Photoshop: File > File Info
This will give you any information/metadata that have been saved by the camera you used (note: Photoshop may give you more than other programs). If you don't have any file info or other way to set a scale to a measurement unit then you could use pixels as your units.
For example, in ImageJ the default units setting for scale is pixels (Analyze > Set Scale) and any measurements you take will be in numbers of pixels. If you change those units then it is still defining measurements as per pixel except you have told the program how many pixels make up that unit (e.g., 300 pixels/um). Should you find out your units at a later date then you can always do a post-hoc pixel-to-unit conversion that should be the same for every image as long as it was taken at the same magnification.
I am developing a software to measure the fibers length using JavaCV.
I developed a method that extracts the metadata (DPI - dots per inch) from an image and calculates the fiber length. But this is not enough to get an accurate value.