Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import cv2 as cv
- import numpy as np
- def gammaFilter(img, parameterValue=1.5):
- values = np.array([((i / 255.0) ** (1.0 / parameterValue)) * 255
- for i in np.arange(0, 256)]).astype("uint8")
- result = cv.LUT(img, values)
- return result
- def addLabel(img, text, positionX):
- cv.putText(img, text, (positionX, 50), cv.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
- def getHistogram(img):
- grayImg = cv.cvtColor(img, cv.COLOR_BGR2YUV)
- grayImg[:, :, 0] = cv.equalizeHist(img[:, :, 0])
- grayImg = cv.cvtColor(img, cv.COLOR_YUV2BGR)
- histogram = cv.calcHist([grayImg], [0], None, [256], [0, 255])
- result = np.zeros((255, 256))
- for x, y in enumerate(histogram):
- cv.line(result, (x, 0), (x, y), (255, 255, 255))
- return result
- originalImg = cv.imread("questao.jpeg")
- imgFiltered = gammaFilter(originalImg, 1.8)
- addLabel(imgFiltered, "Gamma filter", 540)
- addLabel(originalImg, "Original Image", 540)
- # show original image | show histogram original image |
- cv.imshow("DPI - Original image", originalImg)
- histogramOriginalImg = getHistogram(originalImg)
- cv.imshow("DPI - Histogram - Original Image", histogramOriginalImg)
- # show manipuled image based on original image | show histogram after manipuled original image
- cv.imshow("DPI - Manipuled Image", imgFiltered)
- histogramFilteredGammaImg = getHistogram(imgFiltered)
- cv.imshow("Histogram - Filtered Image", histogramFilteredGammaImg)
- cv.waitKey()
Advertisement
Add Comment
Please, Sign In to add comment