Wednesday, December 4, 2013
Tuesday, December 3, 2013
Cameralink details
Details of Cameralink can be found here:
http://www.volkerschatz.com/hardware/clink.html
Cameralink cable extender
http://www.networkcable.com/PDF/BITMAXX_EQCL_3-19-09.pdf
http://forums.xilinx.com/t5/Spartan-Family-FPGAs/LVDS-SERDES-in-Spartan6-Camera-Link-or-DDR-style/td-p/313871
http://forums.xilinx.com/t5/Virtex-Family-FPGAs/camera-link-implementation-on-V-5/m-p/120150#M8821
http://www.xilinx.com/support/documentation/application_notes/xapp1071_V6_ADC_DAC_LVDS.pdf
http://www.volkerschatz.com/hardware/clink.html
Cameralink cable extender
http://www.networkcable.com/PDF/BITMAXX_EQCL_3-19-09.pdf
http://forums.xilinx.com/t5/Spartan-Family-FPGAs/LVDS-SERDES-in-Spartan6-Camera-Link-or-DDR-style/td-p/313871
http://forums.xilinx.com/t5/Virtex-Family-FPGAs/camera-link-implementation-on-V-5/m-p/120150#M8821
http://www.xilinx.com/support/documentation/application_notes/xapp1071_V6_ADC_DAC_LVDS.pdf
Sunday, December 1, 2013
Image Processing Courses
1. Stanford Course CS448F (HWs in C++)
http://www.stanford.edu/class/cs448f/
2. Purdue Course EE367 Video Lectures
https://engineering.purdue.edu/~bouman/ece637/
3. Image Processing Course at Utah
http://www.eng.utah.edu/~cs6640/
Video Lectures:
4. Pattern Recognition Class
http://www.youtube.com/playlist?list=PLuRaSnb3n4kRDZVU6wxPzGdx1CN12fn0w
5. Image Analysis Class
http://www.youtube.com/playlist?list=PLuRaSnb3n4kSgSV35vTPDRBH81YgnF3Dd
http://www.stanford.edu/class/cs448f/
2. Purdue Course EE367 Video Lectures
https://engineering.purdue.edu/~bouman/ece637/
3. Image Processing Course at Utah
http://www.eng.utah.edu/~cs6640/
Video Lectures:
4. Pattern Recognition Class
http://www.youtube.com/playlist?list=PLuRaSnb3n4kRDZVU6wxPzGdx1CN12fn0w
5. Image Analysis Class
http://www.youtube.com/playlist?list=PLuRaSnb3n4kSgSV35vTPDRBH81YgnF3Dd
Tuesday, November 19, 2013
Computer Vision Material
Prerequisities for Computer Vision
a. Introduction to Computer Graphics
b. Computational Photography
c. Introduction to Machine Learning
1.Institute for Pure and Applied Mathematics (UCLA Summer School 2013)
http://www.ipam.ucla.edu/schedule.aspx?pc=GSS2013
Comments: Nice Videos from 2 weeks of workshop
2. Advances in Computer Vision (MIT Course)
http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm
Comments: Nice ppt and exercises
3. CS143 Introduction to Computer Vision (Brown Univ Course)
http://cs.brown.edu/courses/cs143/
Comments: Teaches Intuitive Thinking about Images
4. Computational Photography
http://graphics.cs.cmu.edu/courses/15-463/2010_spring/463.html
Comments: Excellent Introduction to Computational Photography
5.
a. Introduction to Computer Graphics
b. Computational Photography
c. Introduction to Machine Learning
1.Institute for Pure and Applied Mathematics (UCLA Summer School 2013)
http://www.ipam.ucla.edu/schedule.aspx?pc=GSS2013
Comments: Nice Videos from 2 weeks of workshop
2. Advances in Computer Vision (MIT Course)
http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm
Comments: Nice ppt and exercises
3. CS143 Introduction to Computer Vision (Brown Univ Course)
http://cs.brown.edu/courses/cs143/
Comments: Teaches Intuitive Thinking about Images
4. Computational Photography
http://graphics.cs.cmu.edu/courses/15-463/2010_spring/463.html
Comments: Excellent Introduction to Computational Photography
5.
Saturday, October 5, 2013
Video Lectures on Image Procesing
1. UC Davis Image Processing Course
https://www.youtube.com/playlist?list=PLA64AFAE28B8DD0FD
2. Digital Image Processing by Charles Bouman (C++)
https://www.youtube.com/playlist?list=PL3ZrjaBngMS15UhKHUnNqW5wLBA4vlQeB
3. UC Berkeley Image Processing Course
http://www-video.eecs.berkeley.edu/~avz/video_225b.html
4.Good Image Processing Lectures
https://www.youtube.com/playlist?list=PLFF4241D8F970FA32
5. Computer Vision Lecture by UCF
https://www.youtube.com/watch?v=715uLCHt4jE&list=PLOUso-Fehhx1OAMR5UG9yHOGvX4SwO3X0
Linear Algebra Courses:
https://www.youtube.com/watch?v=f2eYLK6TpRs&list=PLD41890D674A5B2C7
https://www.youtube.com/playlist?list=PLA64AFAE28B8DD0FD
2. Digital Image Processing by Charles Bouman (C++)
https://www.youtube.com/playlist?list=PL3ZrjaBngMS15UhKHUnNqW5wLBA4vlQeB
3. UC Berkeley Image Processing Course
http://www-video.eecs.berkeley.edu/~avz/video_225b.html
4.Good Image Processing Lectures
https://www.youtube.com/playlist?list=PLFF4241D8F970FA32
5. Computer Vision Lecture by UCF
https://www.youtube.com/watch?v=715uLCHt4jE&list=PLOUso-Fehhx1OAMR5UG9yHOGvX4SwO3X0
Linear Algebra Courses:
https://www.youtube.com/watch?v=f2eYLK6TpRs&list=PLD41890D674A5B2C7
Wednesday, August 21, 2013
Image Processing Algorithms to know
1. Canny Edge Detector, Sobel Edge Detector
https://www.youtube.com/watch?v=P35WsRDnTsU
Code:http://pythongeek.blogspot.com/2012/06/canny-edge-detection.html
2. Harris Corner Detector (What is the difference between canny and sobel)
https://www.youtube.com/watch?v=P35WsRDnTsU
Review Eigen Vectors in Linear Algebra
3. What is SIFT (Scale
https://www.youtube.com/watch?v=NPcMS49V5hg
Pattern-matching algorithms, denoising algorithms
https://www.youtube.com/watch?v=P35WsRDnTsU
Code:http://pythongeek.blogspot.com/2012/06/canny-edge-detection.html
2. Harris Corner Detector (What is the difference between canny and sobel)
https://www.youtube.com/watch?v=P35WsRDnTsU
Review Eigen Vectors in Linear Algebra
3. What is SIFT (Scale
https://www.youtube.com/watch?v=NPcMS49V5hg
Pattern-matching algorithms, denoising algorithms
Saturday, August 10, 2013
Vision Processing using FPGA - Apps
http://www.t3lab.it/en/progetti/vialab/
Missing Link Electronics
Missing Link Electronics
Thursday, July 18, 2013
Wednesday, July 17, 2013
Topics I want to know
1) Imatest Master -- Testing Image Quality
such Dynamic Range Test etc.,
2) Bayer Coding, White Balance, Gamma Correction
3) Object Detection, Recognition, Tracking in low Signal to Noise Ratio Conditions
4) Pin Hole Camera, FOV, Aperture, Shutter Speed
5) OCR, Biometrics, Depth Estimation
6) Defocussed Lens
7) Textures, Video Textures
such Dynamic Range Test etc.,
2) Bayer Coding, White Balance, Gamma Correction
3) Object Detection, Recognition, Tracking in low Signal to Noise Ratio Conditions
4) Pin Hole Camera, FOV, Aperture, Shutter Speed
5) OCR, Biometrics, Depth Estimation
6) Defocussed Lens
7) Textures, Video Textures
Image Processing 2- Apply Filters to Images
Convolution:
Things to remember:
a) Reverse kernel horizontally and vertically before applying
b) Output Image Size.rows = InputImageSize.rows - KernelImageSize.rows + 1
Output Image Size.rows = InputImageSize.cols- KernelImageSize.cols+ 1
c) Normalize the kernel so that overflows won't happen
d) Truncate Pixels >255 to 255 and pixels <0 (negative) to 0
Things to remember:
a) Reverse kernel horizontally and vertically before applying
b) Output Image Size.rows = InputImageSize.rows - KernelImageSize.rows + 1
Output Image Size.rows = InputImageSize.cols- KernelImageSize.cols+ 1
c) Normalize the kernel so that overflows won't happen
d) Truncate Pixels >255 to 255 and pixels <0 (negative) to 0
def convolve(image, kernel):
'''Convolve the given image and kernel
Inputs:
image - a single channel (rows, cols) image with dtype uint8
kernel - a matrix of shape (d, d) and dtype float
Outputs:
output - an output array of the same dtype as image, and of shape
(rows - d + 1, cols - d + 1)
Every element of output should contain the application of the kernel to the
corresponding location in the image.
Output elements that result in values that are greater than 255 should be
cropped to 255, and output values less than 0 should be set to 0.
'''
oimage = None
# Insert your code here.----------------------------------------------------
# Get size of kernel, image and initialize output array
kernel_row= kernel.shape[0]
kernel_col= kernel.shape[1]
iimage_row= image.shape[0]
iimage_col= image.shape[1]
print image.shape
print kernel.shape
oimage_row= iimage_row-kernel_row +1
oimage_col= iimage_col-kernel_col +1
#Initialize array as UINT8
oimage = np.zeros((oimage_row,oimage_col),dtype=np.uint8)
print oimage.shape
# Reverse kernel; Use Special trick of -1
rkernel = kernel[::-1,::-1]
#Perform Convolution: Product and Sum
for i in range(0,oimage_row):
for j in range(0,oimage_col):
image_buf= image[i:i+kernel_row,j:j+kernel_col]
image_buf_prod=image_buf*rkernel
pixelf= image_buf_prod.sum();
if pixelf < 0:
oimage[i,j]=0
else:
if pixelf > 255:
oimage[i,j] = 255
else:
# convert float value as uint8
oimage[i,j] = np.uint8(pixelf)
#print oimage
Tuesday, July 16, 2013
OpenCV Source Code Documentation
Matrix.cpp - has all data structure matrix related operators and functions
convert.cpp -- has all the conversion functions such as split,merge
convert.cpp -- has all the conversion functions such as split,merge
Image Processing 1- OpenCV, C++ - Color to Greyscale Conversion
Soln 1:
#include "stdafx.h"
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include <opencv/cv.h>
using namespace cv;
using namespace std;
int main()
{
//Read Color Image
Mat im_rgb = imread("C:/Users/kvemishe/Documents/Vision/images/kitten.jpg");
//waitKey is important for image display; 0 means wait forever
imshow("Kitten",im_rgb);
waitKey(0);
//Convert Color to GrayScale
Mat img_grey;
cvtColor(im_rgb,img_grey,CV_BGR2GRAY);
//Write Greyscale to file location
imwrite("C:/Users/kvemishe/Documents/Vision/images/kittengrey.jpg",img_grey);
}
Sunday, July 7, 2013
Image Processing in Python
1. Example 1
http://antianti.org/?p=440
2. Print np array with precision
np.set_printoptions(precision=4)
3. Convert float array to integer array
where calcImg is the input image
output = calcImg.astype(np.uint8)
http://antianti.org/?p=440
2. Print np array with precision
np.set_printoptions(precision=4)
3. Convert float array to integer array
where calcImg is the input image
output = calcImg.astype(np.uint8)
Tuesday, July 2, 2013
Vision and Image Processing Books
1. Morphological Image Analysis: Principles and Applications (Pierre Soille)
(Available in the library)
2. Image Processing Handbook (J.C.Russ)
3. Handbook of Pattern Recognition and Computer Vision (C.H.Chen)
4. Vision: A Computational Investigation into the Human Representation and Processing of Visual Information
http://www.amazon.com/Vision-Computational-Investigation-Representation-Information/dp/0262514621
3. Handbook of Pattern Recognition and Computer Vision (C.H.Chen)
4. Vision: A Computational Investigation into the Human Representation and Processing of Visual Information
http://www.amazon.com/Vision-Computational-Investigation-Representation-Information/dp/0262514621
Interesting Blogs on Image Processing
So, I started my journey on learning image processing....
I started looking for interesting posts on image processing
1) Steve on Image Processing
http://blogs.mathworks.com/steve/
I started looking for interesting posts on image processing
1) Steve on Image Processing
http://blogs.mathworks.com/steve/
Subscribe to:
Comments (Atom)