How to change all the colours in the image to black

15 ビュー (過去 30 日間)
Elysi Cochin
Elysi Cochin 2021 年 1 月 26 日
編集済み: DGM 2023 年 3 月 9 日
how to change all the colours in the image to black except the white colour in image?

採用された回答

Timo Dietz
Timo Dietz 2021 年 1 月 26 日
編集済み: DGM 2023 年 3 月 9 日
Try this:
imageData = imread([yourFile]);
% split R, G, B
imgR = imageData(:, :, 1);
imgG = imageData(:, :, 2);
imgB = imageData(:, :, 3);
% get linear index of all pixels with color not white
colIdx = (imgR < 1 | imgG < 1 | imgB < 1);
% change color to black
imgR(colIdx) = 0;
imgG(colIdx) = 0;
imgB(colIdx) = 0;
% write back to new image data or overwrite the origin imageData
newImage(:, :, 1) = imgR;
newImage(:, :, 2) = imgG;
newImage(:, :, 3) = imgB;

その他の回答 (1 件)

yanqi liu
yanqi liu 2021 年 2 月 1 日
clc; clear all; close all;
I = imread('ceshi.png');
I2 = rgb2hsv(I);
s = mat2gray(I2(:,:,2));
bw = im2bw(s, 0.5);
figure; imshow(~bw)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by