What is BW stands for in Skia maskformat? - skia

I tried search everywhere, but can't find what is BW stands for. Here is the link: https://developer.xamarin.com/api/type/SkiaSharp.SKMaskFormat/
thanks a lot.

If you look at the docs:
1-bit per pixel mask (e.g. monochrome).
This type of mask is a series of bit-states (mask/don't mask).

Related

Mask generation for segmentation

I have this kind of images (255 exactly):
Example of delineation
I have to generate a mask for each of them automatically. For example, set all pixels in the bleu outline to zeros and set the others to one.
Does someone know a useful python's tool to achieve this task? Knowing that I know the exact position of the blue outline of the image above.
Thank you for your help!

Counting fishes on an image

I want to build a script that can count and box fishes in a given image with the assumption that the image will always contain fishes (any number) and no other animals.
My current approach is just to count the number of contours detected in an image. I use canny edge detection with dilation and erosion. I also discard contours that are too small, treating them as noise.
This approach seems to be working fine if the fishes are nicely separated. But once they are intersecting, or covering each other, things start to get messy.
Currently, I am just using images from google.
What other approach can I use for this problem? Still a newbie in image processing.
Thank you so much!
What other approach can I use for this problem?
You can try to detect just a particular feature of the fish, such as an eye, mouth, or fin. You can try to detect whole fish, and also count particular features as above; if the numbers don't match you can deduce that you've found some partial fish.

Reducing / Enhancing known features in an image

I am microbiology student new to computer vision, so any help will be extremely appreciated.
This question involves microscope images that I am trying to analyze. The goal I am trying to accomplish is to count bacteria in an image but I need to pre-process the image first to enhance any bacteria that are not fluorescing very brightly. I have thought about using several different techniques like enhancing the contrast or sharpening the image but it isn't exactly what I need.
I want to reduce the noise(black spaces) to 0's on the RBG scale and enhance the green spaces. I originally was writing a for loop in OpenCV with threshold limits to change each pixel but I know that there is a better way.
Here is an example that I did in photo shop of the original image vs what I want.
Original Image and enhanced Image.
I need to learn to do this in a python environment so that I can automate this process. As I said I am new but I am familiar with python's OpenCV, mahotas, numpy etc. so I am not exactly attached to a particular package. I am also very new to these techniques so I am open to even if you just point me in the right direction.
Thanks!
You can have a look at histogram equalization. This would emphasize the green and reduce the black range. There is an OpenCV tutorial here. Afterwards you can experiment with different thresholding mechanisms that best yields the bacteria.
Use TensorFlow:
create your own dataset with images of bacteria and their positions stored in accompanying text files (the bigger the dataset the better).
Create a positive and negative set of images
update default TensorFlow example with your images
make sure you have a bunch of convolution layers.
train and test.
TensorFlow is perfect for such tasks and you don't need to worry about different intensity levels.
I initially tried histogram equalization but did not get the desired results. So I used adaptive threshold using the mean filter:
th = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY_INV, 3, 2)
Then I applied the median filter:
median = cv2.medianBlur(th, 5)
Finally I applied morphological closing with the ellipse kernel:
k1 = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))
dilate = cv2.morphologyEx(median, cv2.MORPH_CLOSE, k1, 3)
THIS PAGE will help you modify this result however you want.

KML line from pin with given azimuth

I have the coordinates of a point and an azimuth.
I want to place a pin in the coordinate of the point, and draw a line segment of a certain length L beginning from the point, and oriented in a certain given azimuth.
Is there a simple manner to do that in KML?
I do not want to calculate the coordinate of the second point to draw the segment.
Thanks for help
There seems to be no way to do a calculation in kml itself so the line segment end point would have to be calculated before the construction of the kml or as kml supplied from a server. So the short answer would seem to be that it is not possible.
However I wonder if you could create a model consisting of the line of known length and orientation and plot the 'model' at the pin position. This of course would allow construction of much more sophisticated lines with arrow heads or planes extending to ground etc.
I tried a quick example using Google Sketchup and it seems to work OK
Hope this helps
Bob J.
KML does not do calculations for you. You'll need to do the calculation yourself.

Imaging Question: How to determine image quality?

I'm looking for ways to determine the quality of a photography (jpg). The first thing that came into my mind was to compare the file-size to the amount of pixel stored within. Are there any other ways, for example to check the amount of noise in a jpg? Does anyone have a good reading link on this topic or any experience? By the way, the project I'm working on is written in C# (.net 3.5) and I use the Aurigma Graphics Mill for image processing.
Thanks in advance!
I'm not entirely clear what you mean by "quality", if you mean the quality setting in the JPG compression algorithm then you may be able to extract it from the EXIF tags of the image (relies on the capture device putting them in and no-one else overwriting them) for your library see here:
http://www.aurigma.com/Support/DocViewer/30/JPEGFileFormat.htm.aspx
If you mean any other sort of "quality" then you need to come up with a better definition of quality. For example, over-exposure may be a problem in which case hunting for saturated pixels would help determine that specific sort of quality. Or more generally you could look at statistics (mean, standard deviation) of the image histogram in the 3 colour channels. The image may be out of focus, in which case you could look for a cutoff in the spatial frequencies of the image Fourier transform. If you're worried about speckle noise then you could try applying a median filter to the image and comparing back to the original image (more speckle noise would give a larger change) - I'm guessing a bit here.
If by "quality" you mean aesthetic properties of composition etc then - good luck!
The 'quality' of an image is not measurable, because it doesn't correspond to any particular value.
If u take it as number of pixels in the image of specific size its not accurate. You might talk about a photograph taken in bad light conditions as being of 'bad quality', even though it has exactly the same number of pixels as another image taken in good light conditions. This term is often used to talk about the overall effect of an image, rather than its technical specifications.
I wanted to do something similar, but wanted the "Soylent Green" option and used people to rank images by performing comparisons. See the question responses here.
I think you're asking about how to determine the quality of the compression process itself. This can be done by converting the JPEG to a BMP and comparing that BMP to the original bitmap from with the JPEG was created. You can iterate through the bitmaps pixel-by-pixel and calculate a pixel-to-pixel "distance" by summing the differences between the R, G and B values of each pair of pixels (i.e. the pixel in the original and the pixel in the JPEG) and dividing by the total number of pixels. This will give you a measure of the average difference between the original and the JPEG.
Reading the number of pixels in the image can tell you the "megapixel" size(#pixels/1000000), which can be a crude form of programatic quality check, but that wont tell you if the photo is properly focused, assuming it is supposed to be focused (think fast-motion objects, like trains), nor weather or not there is something in the pic worth looking at, that will require a human, or pigeon if you prefer.

Resources