Làm thế nào để bạn nhân một hình ảnh trong python?

Tôi thấy việc triển khai cv2 này. hàm multi[] và tôi đang cố hiểu nó. Không có gì được đề cập trong các tài liệu là tốt. Tôi là người mới bắt đầu học opencv, chỉ mới học những điều cơ bản

Thực hiện

scaled_img = cv2.multiply[img, [1,1,1,1], scale=1.5]
result = scaled_img.astype['uint8']

Bối cảnh.
Việc triển khai là chia tỷ lệ hình ảnh bằng phép nhân vô hướng. Có cảm giác như bản thân tỷ lệ độ sáng/độ tương phản cho hình ảnh màu là một chủ đề sâu sắc nhưng đây là một trong những cách tôi thấy có vẻ hiệu quả [trong mắt người mới bắt đầu], nhưng tôi không hiểu tại sao.

Tôi đang bối rối về điều gì.
Đầu tiên, có vẻ như tôi không hiểu tại sao đoạn mã bên dưới không hoạt động khi điều chỉnh độ sáng. Đoạn mã dưới đây chỉ cho tôi một hình ảnh màu xanh. Tôi sẽ đánh giá cao nếu ai đó có thể giải thích tại sao.

scaled_img = cv2.multiply[img, 1.5]]
result = scaled_img.astype['uint8']

Tôi chỉ đang nhân một đại lượng vô hướng với tất cả các giá trị pixel trong ma trận hình ảnh phải không?

Thứ hai. Tại sao họ sử dụng bộ dữ liệu [1,1,1,1] để nhân mảng hình ảnh nguồn?

Ngày thứ ba. Tôi đoán là tôi đang bối rối về cách hiểu một tuple là một mảng. Khi tôi làm một cái gì đó tương tự như thế này, nó hoạt động

scaled_img = cv2.multiply[img, np.ones[4], scale=1.5]
result = scaled_img.astype['uint8']

HOẶC

scaled_img = cv2.multiply[img, np.array[[1,1,1,1], dtype='float64'], scale=1.5]
result = scaled_img.astype['uint8']

Có cách nào tốt hơn để triển khai tỷ lệ độ sáng trong opencv-python không?

Cảm ơn bạn trước

anurag_parcha

-215. Xác nhận không thành công] type2 == CV_64F && [sz2. chiều cao == 1. sz2. chiều cao == 4] trong hàm 'cv. số học_op'

tốt, một lần nữa, vì src2 không phải là Mat 2d có cùng kích thước với src1, nên nó đang kiểm tra, nếu src2 là một Scalar hợp lệ [1d, 4 elem kép] và chỉ có 3 elem thì không

def test_sanity[bản thân]. im = hopper["L"] ImageChops. hằng số [im, 128] ImageChops. bản sao [im] ImageChops. đảo ngược [im] ImageChops. nhẹ hơn[im, im] ImageChops. tối hơn[im, im] ImageChops. khác biệt[im, im] ImageChops. nhân[im, im] ImageChops. màn hình[im, im] ImageChops. thêm[im, im] ImageChops. thêm [im, im, 2. 0] ImageChops. thêm [im, im, 2. 0, 128] ImageChops. trừ[im, im] ImageChops. trừ [im, im, 2. 0] ImageChops. trừ [im, im, 2. 0, 128] ImageChops. add_modulo[im, im] ImageChops. trừ_modulo[im, im] ImageChops. pha trộn [im, im, 0. 5] ImageChops. tổng hợp[im, im, im] ImageChops. offset[im, 10] ImageChops. độ lệch [im, 10, 20]
def get_training_data[hình ảnh,điểm mốc,batch_size]. trong khi 1. chỉ số = numpy. ngẫu nhiên. lựa chọn [phạm vi [0, hình ảnh. shape[0]],size=batch_size,replace=True] for i,index in enumerate[indices]. hình ảnh = hình ảnh [chỉ mục] hạt giống = int [thời gian. time[]] image = random_transform[ image, seed, **random_transform_args ] gần nhất = [ numpy. có nghĩa là [numpy. square[landmarks[index]-landmarks],axis=[1,2]] ]. argsort[][1. 20] gần nhất = numpy. ngẫu nhiên. lựa chọn [gần nhất, 6, thay thế = Sai]. dstack[[ cv2. thay đổi kích thước[ random_transform[ hình ảnh[gần nhất[0]][. ,. ,. 3] ,hạt giống, **random_transform_args] , [64,64]], cv2. thay đổi kích thước[ random_transform[ hình ảnh[gần nhất[1]][. ,. ,. 3] ,hạt giống, **random_transform_args] , [64,64]], cv2. thay đổi kích thước[ random_transform[ hình ảnh[gần nhất[2]][. ,. ,. 3] ,hạt giống, **random_transform_args] , [64,64]], cv2. thay đổi kích thước[ random_transform[ hình ảnh[gần nhất[3]][. ,. ,. 3] ,hạt giống, **random_transform_args] , [64,64]], cv2. thay đổi kích thước[ random_transform[ hình ảnh[gần nhất[4]][. ,. ,. 3] ,hạt giống, **random_transform_args] , [64,64]], cv2. thay đổi kích thước[ random_transform[ hình ảnh[gần nhất[5]][. ,. ,. 3] ,hạt giống, **random_transform_args] , [64,64]], ]] nếu tôi == 0. warped_images = numpy. trống [[batch_size,] + [64,64,3], hình ảnh. dtype ] example_images = numpy. trống [[batch_size,] + [64,64,18], hình ảnh. dtype ] target_images = numpy. trống [[batch_size,] + [128,128,3], hình ảnh. dtype ] mask_images = numpy. trống [[batch_size,] + [128,128,1], hình ảnh. dtype ] warped_image = random_warp[ image[. ,. ,. 3] ] warped_image = cv2. GaussianBlur[ warped_image,[91,91],0 ] image_mask = image[. ,. ,3]. định hình lại[[hình ảnh. hình dạng[0],hình ảnh. shape[1],1]] * numpy. cái [[hình ảnh. hình dạng[0],hình ảnh. hình dạng[1],3]]. tiền cảnh astype[float] = cv2. nhân lên [image_mask, warped_image. astype[float]] nền = cv2. nhân [1. 0 - image_mask, image[. ,. ,. 3]. astype[float]] warped_image = numpy. thêm [nền, tiền cảnh] warped_image = cv2. thay đổi kích thước[warped_image,[64,64]] warped_images[i] = warped_image example_images[i] = mostMerged target_images[i] = cv2. thay đổi kích thước hình ảnh[. ,. ,. 3], [128,128] ] mask_images[i] = cv2. thay đổi kích thước hình ảnh[. ,. ,3], [128,128] ]. định hình lại[[128,128,1]] mang lại warped_images,example_images,target_images,mask_images

Có phương pháp nhân nào trong Python không?

multiply[] trong Python. numpy. Hàm multiply[] được sử dụng khi chúng ta muốn tính phép nhân của hai mảng . Nó trả về tích của mảng1 và mảng2, theo từng phần tử.

Nhân ảnh là gì?

Nhân ảnh . * ] của mỗi pixel tương ứng trong một cặp ảnh đầu vào và trả về tích của các phép nhân này trong pixel tương ứng trong ảnh đầu ra

Chủ Đề