Beispiel #1
0
    def test_equalize_masked(self):
        img = torch.tensor(img_as_float(self.test_img))
        mask = torch.zeros(self.test_img.shape, dtype=torch.bool)
        mask[50:150, 50:250] = 1
        img_mask_eq = equalize_hist(img, mask=mask)
        img_eq = equalize_hist(img)

        cdf, bin_edges = cumulative_distribution(img_mask_eq)
        self.check_cdf_slope(cdf)

        self.assertFalse(torch.equal(img_eq, img_mask_eq))
Beispiel #2
0
    def test_equalize_ubyte(self):
        with self.assertWarns(UserWarning):
            img = torch.tensor(img_as_ubyte(self.test_img))
        img_eq = equalize_hist(img)

        cdf, bin_edges = cumulative_distribution(img_eq)
        self.check_cdf_slope(cdf)
Beispiel #3
0
def equalize_hist_demo():
    image = torch.tensor(data.camera())
    equ_image = equalize_hist(image)
    f, (ax1, ax2) = plt.subplots(1, 2)
    ax1.set_title("original image")
    ax1.get_xaxis().set_visible(False)
    ax1.get_yaxis().set_visible(False)
    ax1.imshow(image)
    ax2.set_title("after equalization")
    ax2.get_xaxis().set_visible(False)
    ax2.get_yaxis().set_visible(False)
    ax2.imshow(equ_image)
    f.show()
Beispiel #4
0
	def __call__(self, img):
		hsv = color.rgb2hsv(img)
		hsv[:,:,2] = exposure.equalize_hist(hsv[:,:,2])
		img = color.hsv2rgb(hsv)

		min_side = min(img.shape[:-1])
		centre = img.shape[0] // 2, img.shape[1] // 2
		img = img[centre[0] - min_side // 2:centre[0] + min_side // 2,
			centre[1] - min_side // 2:centre[1] + min_side // 2,
			:]

		img = transform.resize(img, (self.img_size, self.img_size))
		img = np.rollaxis(img, -1)

		return img
Beispiel #5
0
    def test_equalize_float(self):
        img = torch.tensor(img_as_float(self.test_img))
        img_eq = equalize_hist(img)

        cdf, bin_edges = cumulative_distribution(img_eq)
        self.check_cdf_slope(cdf)
Beispiel #6
0
 def test_equalize_uint8_approx(self):
     """Check integer bins used for uint8 images."""
     img_eq0 = equalize_hist(self.test_img_int)
     img_eq1 = equalize_hist(self.test_img_int, nbins=3)
     self.assertTrue(torch.allclose(img_eq0, img_eq1))