def test_detrecated_masked_register_translation(): reference_image, moving_image, _ = stereo_motorcycle() ref_mask = np.random.choice( [True, False], reference_image.shape, p=[3 / 4, 1 / 4]) with expected_warnings(["Function ``masked_register_translation``"]): assert_equal(_deprecated(reference_image, moving_image, ref_mask), phase_cross_correlation(reference_image, moving_image, reference_mask=ref_mask))
def setup(self, *args): try: from skimage.registration import optical_flow_tvl1 except ImportError: raise NotImplementedError("optical_flow_tvl1 unavailable") I0, I1, _ = data.stereo_motorcycle() self.I0 = rgb2gray(I0) self.I1 = rgb2gray(I1)
import matplotlib.pyplot as plt import matplotlib from skimage import data matplotlib.rcParams['font.size'] = 18 ###################################################################### # # Stereo images # ============= fig, axes = plt.subplots(1, 2, figsize=(8, 4)) ax = axes.ravel() images = data.stereo_motorcycle() ax[0].imshow(images[0]) ax[1].imshow(images[1]) fig.tight_layout() plt.show() ###################################################################### # # Faces and non-faces dataset # =========================== # # A sample of 20 over 200 images is displayed. fig, axes = plt.subplots(4, 5, figsize=(20, 20)) ax = axes.ravel()
def test_stereo_motorcycle(): """ Test that "stereo_motorcycle" image can be loaded. """ data.stereo_motorcycle()
def setup(self): I0, I1, _ = stereo_motorcycle() self.I0 = rgb2gray(I0) self.I1 = rgb2gray(I1)
Uncalibrated means that the intrinsic calibration (focal lengths, pixel skew, principal point) of the two cameras is not known. The fundamental matrix thus enables projective 3D reconstruction of the captured scene. If the calibration is known, estimating the essential matrix enables metric 3D reconstruction of the captured scene. """ import numpy as np from skimage import data from skimage.color import rgb2gray from skimage.feature import match_descriptors, ORB, plot_matches from skimage.measure import ransac from skimage.transform import FundamentalMatrixTransform import matplotlib.pyplot as plt img_left, img_right, groundtruth_disp = data.stereo_motorcycle() img_left, img_right = map(rgb2gray, (img_left, img_right)) # Find sparse feature correspondences between left and right image. descriptor_extractor = ORB() descriptor_extractor.detect_and_extract(img_left) keypoints_left = descriptor_extractor.keypoints descriptors_left = descriptor_extractor.descriptors descriptor_extractor.detect_and_extract(img_right) keypoints_right = descriptor_extractor.keypoints descriptors_right = descriptor_extractor.descriptors matches = match_descriptors(descriptors_left,
assigning the result of the registration to the red channel and the target image to the green and blue channels. A perfect registration results in a gray level image while misregistred pixels appear colored in the constructed RGB image. """ import numpy as np import imageio from matplotlib import pyplot as plt from skimage.color import rgb2gray from skimage.data import stereo_motorcycle from skimage.transform import warp from skimage.registration import optical_flow_tvl1, optical_flow_ilk # --- Load the sequence image0, image1, disp = stereo_motorcycle() # --- Convert the images to gray level: color is not supported. image0 = rgb2gray(image0) image1 = rgb2gray(image1) # --- Compute the optical flow v, u = optical_flow_tvl1(image0, image1) # --- Use the estimated optical flow for registration nr, nc = image0.shape row_coords, col_coords = np.meshgrid(np.arange(nr), np.arange(nc), indexing='ij')
fig, ax = plt.subplots() ax.plot(x, y) ax.grid() ax.set_title(title) ax.set_ylabel(ylabel) ax.set_xlabel(xlabel) plt.tight_layout() plt.show() # ## Test data preparation # We use a 128 * 128 sample of a contrast grayscale image from skimage.data # In[13]: img_left, img_right, disp = data.stereo_motorcycle() img_src = rgb2gray(img_as_float(img_left)) print(img_src.shape) image = img_src imgshow(image, 'Source image') print(f'Image size:{image.shape}') # ## Testing section # Here is the list of modifiable parameters: # * Maximum radius $R$ # * Number of rings $Q$ # * Number of points per ring $T$ # * Number of histograms per point $H$
enables projective 3D reconstruction of the captured scene. If the calibration is known, estimating the essential matrix enables metric 3D reconstruction of the captured scene. """ import numpy as np from skimage import data from skimage.color import rgb2gray from skimage.feature import match_descriptors, ORB, plot_matches from skimage.measure import ransac from skimage.transform import FundamentalMatrixTransform import matplotlib.pyplot as plt np.random.seed(0) img_left, img_right, groundtruth_disp = data.stereo_motorcycle() img_left, img_right = map(rgb2gray, (img_left, img_right)) # Find sparse feature correspondences between left and right image. descriptor_extractor = ORB() descriptor_extractor.detect_and_extract(img_left) keypoints_left = descriptor_extractor.keypoints descriptors_left = descriptor_extractor.descriptors descriptor_extractor.detect_and_extract(img_right) keypoints_right = descriptor_extractor.keypoints descriptors_right = descriptor_extractor.descriptors matches = match_descriptors(descriptors_left, descriptors_right,