Masking 3 dead pixels on a camera
Show older comments
Hello. I am working on a robotic project with a camera to capture images of blue,red,green LEDs. Apparently, the camera has 3 dead pixels. When there is no LED present, using the code below, camera detects three pixels (one red one blue one green) which are the dead pixels on the camera. I was wondering how I could mask these 3 pixels. Here is the output: [rrpts crpts rgpts_t cgpts_t rbpts cbpts] = [367 537 616 888 582 350] in which each consecutive pair is a x-y location of each dead pixel (they are the pairs I want to mask). My code is also shown below. Thank you.
Clear all
Close all;
Global rthr gthr bthr
rthr = 60;
bthr = 60;
gthr = 60;
delete(imaqfind);
vid = videoinput('dcam');
vid.ReturnedColorSpace ='bayer';
vid.BayerSensorAlignment ='rggb';
vid.ROIPosition = [60 40 960 720];
vid.FramesPerTrigger = 1;
%triggerconfig(vid,'manual')
% vid.TriggerRepeat = Inf;
src = getselectedsource(vid);
src.Gain = 500;
start(vid)
%preview(vid)
[img time] = getdata(vid);
[rrpts crpts rgpts_t cgpts_t rbpts cbpts] = gsearch_rgb(img)
figure (1)
imshow(img)
%imshow(rgbImage)
stop(vid);
Accepted Answer
More Answers (2)
1 Comment
Image Analyst
on 24 Feb 2014
I have several demos for detecting colors in my File Exchange. They all do basically the same thing but in different ways, different color spaces. http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862 You should examine your 3D color gamut first to decide which color space is best. You can use the 3D Color Inspector plugin for ImageJ because MATLAB does not have this capability (yet). http://rsb.info.nih.gov/ij/plugins/color-inspector.html
Sean de Wolski
on 24 Feb 2014
0 votes
I would recommend inpaint_nans for this:
Categories
Find more on Image Arithmetic in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!