コード例 #1
0
    def DetectCorners(self):
        """
            Detect Page Corners
            Args:
                No Args needed
        """
        os.chdir(self.Directory)
        os.chdir("Cambire")

        for Image in glob.glob("Enhanced_*.jpg"):
            ImageOriginal = cv2.imread(Image, cv2.IMREAD_COLOR)
            GrayscaleImage = cv2.cvtColor(ImageOriginal, cv2.COLOR_BGR2GRAY)

            GrayscaleImage = np.float32(GrayscaleImage)
            cv2.imshow("Enhanced", ImageOriginal)

            corners = cv2.cornerHarris(GrayscaleImage, 2, 3, 1)
            GrayscaleImage = cv2.dilate(GrayscaleImage, None)
            
            ImageOriginal[GrayscaleImage > 0.4 * GrayscaleImage.max()] = [0,0,255]
                
            Imagename = "Cornered_" + Image
            cv2.imwrite(Imagename, ImageOriginal)
            cv2.imshow(Imagename, ImageOriginal)

            cv2.waitKey(0)
            cv2.distroyAllWindows()
            os.chdir("..")
コード例 #2
0
 def live_from_video(self, video_path):
     cap = cv2.VideoCapture(video_path)
     while cap.isOpened():
         ret, image = cap.read()
         self.set_image(cv2.resize(image, (640, 360), interpolation=cv2.INTER_AREA))
         self.detect_face()
         cv2.imshow('age_detection_api detection',self.image_bounding_boxes)
         if cv2.waitKey(5) == 27:
             break
     cap.release()
     cv2.distroyAllWindows()
コード例 #3
0
    def live_cv2(self):
        video_capture = cv2.VideoCapture(0)
        while True:
            if not video_capture.isOpened():
                sleep(5)
            ret, self.image = video_capture.read()
            self.detect_face()
            cv2.imshow(self.image_bounding_boxes)
            if cv2.waitKey(5) == 27:
                break

        video_capture.release()
        cv2.distroyAllWindows()
コード例 #4
0
import cv2
import numpy as np

img = cv2.imread("12.png")

scaled_img = cv2.resize(img, None, fx=1, fy=2)

rows, cols, ch = img.shape
print(rows)
print(cols)

matrix = np.float32([[1, 0, 50], [0, 1, 50]])
translate_img = cv2.warpAffine(img, matrix, (cols, rows))
cv2.imshow("GeoTransformation", img)
cv2.imshow("scaled", scaled_img)
cv2.imshow("translated", translate_img)

cv2.waitKey(0)

cv2.distroyAllWindows()
コード例 #5
0
ファイル: draw.py プロジェクト: Heafei/learning_opencv
for n in range(0, 250, 30):
    cv2.rectangle(rectangle, (n, n), (500-n, 500-n), (255, 255, 0), 3)
    cv2.imshow('Rectangle', rectangle)
    cv2.waitKey(150)

cv2.imwrite('rectangle.png', rectangle)

# 4. Draw Ellipse
ellipse = np.zeros((502, 502, 3), np.uint8)
cv2.ellipse(ellipse, (250, 250), (10, 10), (30 + n * 60), 0, 360, (0, 255, 255), -1)
for n in range(0, 3, 1):
    cv2.ellipse(ellipse, (250, 250), (200, 50), (30 + n * 60), 0, 360, (0, 255, 255), 1)
    cv2.imshow('Ellipse', ellipse)
    cv2.waitKey(200)

cv2.imwrite('ellipse.png', ellipse)

# 5. Draw Text
text = np.zeros((502, 502, 3), np.uint8)
font = cv2.FONT_HERSHEY_SIMPLEX

for n in range(0, 255):
    cv2.putText(text, 'OpenCV', (10, 100), font, 4, (0, 0, n), 4)
    cv2.imshow('Draw Text', text)
    cv2.waitKey(10)

if (ord('q') == (cv2.waitKey(0) & 0xff)):
	cv2.distroyAllWindows()	


コード例 #6
0
ファイル: Equalizer.py プロジェクト: balhafni/cv
    def display(self, image):
        self.img = image

        count = 0
        #filling all dictionaries with zeros
        for i in range(0, 256):
            self.frequency[i] = 0
            self.cdf[i] = 0
            self.equalized[i] = 0

        #setting the frequency
        for i in range(0, self.img.shape[0]):
            for j in range(0, self.img.shape[1]):
                self.frequency[self.img[i,
                                        j]] = self.frequency[self.img[i,
                                                                      j]] + 1

        #deleting pixels are not in the image
        self.frequency = {
            key: value
            for key, value in self.frequency.items() if value != 0
        }
        #sorting by key
        self.frequency = collections.OrderedDict(sorted(
            self.frequency.items()))

        #setting cdf
        prev_key = 0
        first = True
        for key, value in self.frequency.items():
            if first:
                self.cdf[key] = self.frequency[key]
                first = False
            else:
                self.cdf[key] = self.frequency[key] + self.cdf[prev_key]
            prev_key = key

        #deleting pixels are not in the image
        self.cdf = {
            key: value
            for key, value in self.cdf.items() if value != 0
        }
        #sorting by key
        self.cdf = collections.OrderedDict(sorted(self.cdf.items()))

        first = True
        for key, value in self.cdf.items():
            if first:
                min = value
                first = False
            else:
                top = value - min
                bottom = (self.img.shape[0] * self.img.shape[1]) - 1
                res = (top / bottom) * 255
                self.equalized[key] = int(math.floor(res))

        equalized_img = np.zeros((self.img.shape[0], self.img.shape[1], 3),
                                 np.uint8)
        for i in range(0, equalized_img.shape[0]):
            for j in range(0, equalized_img.shape[1]):
                equalized_img[i, j] = self.equalized[self.img[i, j]]

        #printing
        for k, v in self.frequency.items():
            if v != 0:
                print("pixel: " + str(k) + " was repeated " + str(v) +
                      " times, CDF: " + str(self.cdf[k]))
        print(self.img.shape)

        cv2.imshow('equalized image', equalized_img)
        cv2.waitKey(0)
        cv2.distroyAllWindows()