#python code to correct skew angle in images

#need to use concept of Eigen Vectors here

import cv2
import binarization
import numpy as np
kernel = np.ones((5,5),np.uint8)

img = cv2.imread('/home/suryo/Image_Processing_Exercises/IISC/resources/Kandanu10.jpg',0)
cv2.imshow('original', img)
binary = binarization.binary_img(img)
cv2.imshow('binary', binary)

dil = cv2.dilate(binary,kernel,iterations = 1)
cv2.imshow('dil', dil)


height, width = img.shape[:2]

all_white_pixels = []

print height
print width

for i in range(0,height):
    for j in range(0,width):
        if(binary.item(i,j)==255):
            all_white_pixels.append([i,j])
            
#print all_white_pixels
Created on Fri Apr 24 21:35:50 2015

@author: suryo
"""

import cv2
import binarization
import numpy as np
import time
kernel = np.ones((5,5),np.uint8)

img = cv2.imread('/home/suryo/Image_Processing_Exercises/IISC/resources/1.jpg',0)
cv2.imshow('original', img)
all_angles = []

binary = binarization.binary_img(img)
#cv2.imshow('binary', binary)


contours, hierarchy = cv2.findContours(binary,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
#contours, hierarchy = cv2.findContours(binary.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)[0]
#print contours
#for c in contours:

print type(contours)
k = 0
areas = []
cnt = contours[0]
upper_bound=len(contours)
print upper_bound
Пример #3
0
@author: suryo
"""

import cv2
import binarization
import numpy as np
import time
kernel = np.ones((5, 5), np.uint8)

img = cv2.imread('/home/suryo/Image_Processing_Exercises/IISC/resources/1.jpg',
                 0)
cv2.imshow('original', img)
all_angles = []

binary = binarization.binary_img(img)
#cv2.imshow('binary', binary)

contours, hierarchy = cv2.findContours(binary, cv2.RETR_TREE,
                                       cv2.CHAIN_APPROX_SIMPLE)
#contours, hierarchy = cv2.findContours(binary.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)[0]
#print contours
#for c in contours:

print type(contours)
k = 0
areas = []
cnt = contours[0]
upper_bound = len(contours)
print upper_bound
Пример #4
0
# -*- coding: utf-8 -*-
"""
Created on Sat Mar 21 22:07:06 2015

@author: suryo
"""

import cv2
import binarization

img = cv2.imread('/home/suryo/Image_Processing_Exercises/resources/1.jpg', 0)
binary = binarization.binary_img(img)
cv2.imshow('binary', binary)

cv2.waitKey(0)
cv2.destroyAllWindows()
Пример #5
0
img=cv2.medianBlur(img,5)
largest_contour = np.zeros(img.shape[:2],np.uint8)

sobely = cv2.Sobel(img,cv2.CV_64F,0,1,ksize=5)

abs_sobel64f = np.absolute(sobely)
sobel_8u = np.uint8(abs_sobel64f)

#sobely = cv2.erode(sobely,kernel,iterations = 1)

cv2.imshow('sobely',sobel_8u)

new_sobel=cv2.medianBlur(sobel_8u,5)
cv2.imshow('sobel new',new_sobel)
new_sobel = 255 - new_sobel
yay = binarization.binary_img(new_sobel)
cv2.imshow('yay',yay)

contours, hierarchy = cv2.findContours(yay,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
areas = [cv2.contourArea(c) for c in contours]
max_index = np.argmax(areas)
cnt=contours[max_index]


print max_index

cv2.drawContours(largest_contour, contours, max_index, (255,255,255), 2)
cv2.imshow('largest', largest_contour)
#cv2.imwrite('largest.jpg', mask)