1
我正在嘗試更改矩陣中圖像存儲的色相。我有一個使用split()函數的色調通道,但我無法改變它的色調。我正在使用函數集(標量標量)來改變其色調,但我沒有看到圖像中的任何變化。在矩陣中設置圖像存儲的色相
Mat eyeball_HSV = new Mat();
Mat dest = new Mat();
Mat eye = new Mat();
eye = mRgba.submat(eye_template);
List<Mat> hsv_channel = new ArrayList<Mat>();
Imgproc.cvtColor(eye, eyeball_HSV, Imgproc.COLOR_RGB2HSV, 0);
// get HSV channel
//hsv_channel[0] is hue
//hsv_channel[1] is saturation
//hsv_channel[2] is visibility
Core.split(eyeball_HSV, hsv_channel);
try
{
hsv_channel.get(0).setTo(new Scalar(145,25,45));
Log.v(TAG, "Got the Channel!");
}
catch(Exception ex)
{
ex.printStackTrace();
Log.v(TAG, "Didn't get any channel");
}
Imgproc.cvtColor(eyeball_HSV, dest, Imgproc.COLOR_HSV2RGB);
Imgproc.cvtColor(dest, eye, Imgproc.COLOR_RGB2RGBA);
親愛的。 – user2934930
我有一個問題?如果你只想改變圖像的子(選定)部分,就像我的情況一樣,現在我已經檢測到眼睛,我想改變它的顏色。所以我應該將整個圖像更改爲HSV,然後更改所選的矩陣色相,或者我應該只將選定的矩陣更改爲hsv,然後更改其色調。 – user2934930
您可以使用圖像roi並在選定的部分上執行操作,就像您的案例中的眼睛一樣 – Haris