Author: Not specified Language: python
Description: Not specified Timestamp: 2017-09-18 20:24:44 +0000
View raw paste Reply
  1. import cv2
  2. import numpy as np
  3. from matplotlib import pyplot as plt
  4.  
  5. class PDI():
  6.     def __init__(self, img_name):
  7.         self.image = img_name
  8.  
  9.     def q1(self):
  10.         img = cv2.imread(self.image)
  11.         arr = np.array(img)
  12.         for i in range(len(arr)):
  13.                 for j in range(len(arr[i])):
  14.                         for k in range(len(arr1[i][j])):
  15.                                if arr[i][j][k] >= 127:
  16.                                        arr[i][j][k] = 255
  17.                                else:
  18.                                        arr[i][j][k] = 0
  19.         cv2.imwrite('test.jpg', arr)
  20.  
  21.     def q2(self, c=1):
  22.         img = cv2.read(self.image)
  23.         arr = np.array(img)
  24.         for i in range(len(arr)):
  25.                 for j in range(len(arr[i])):
  26.                         for k in range(len(arr[i][j])):
  27.                                 arr[i][j][k] = c*np.log10(arr[i][j][k] + 1)
  28.         cv2.imwrite('test.jpg', arr)
  29.  
  30.     def q3(self, c=1):
  31.         img = cv2.imread(self.image)
  32.         arr = np.array(img)
  33.         for i in range(len(arr)):
  34.                 for j in range(len(arr[i])):
  35.                         for k in range(len(arr[i][j])):
  36.                                 arr[i][j][k] = c * (arr[i][j][k] ** gama)
  37.         cv2.imwrite('test.jpg')
  38.  
  39.     def q4(self, plane):
  40.         h, w = self.image.shape
  41.         new_image = self.image.copy()
  42.         for i in range(0,h):
  43.             for j in range(0,w):
  44.                 bin_number = '{0:08b}'.format(image[i,j])
  45.                 if int(bin_number[7 - plane]) == 1:
  46.                     new_image[i,j] = 255
  47.                 else:
  48.                     new_image[i,j] = 0
  49.         return new_image
  50.  
View raw paste Reply