降低亮度的方法與提高亮度非常相似。唯一的區別是從影像中減去“Scalar (B, G, R)”。在這裡,我們減去標量值以降低亮度。下面的程式顯示瞭如何在 OpenCV 中降低影像的亮度。示例 #include #include using namespace cv; using namespace std; int main() { Mat original; //宣告一個矩陣來載入原始影像// Mat dimmer;//宣告一個矩陣來載入更改亮度後的影像// namedWindow("Original");//宣告視窗以顯示原始影像// namedWindow("Dimmer");//宣告視窗以顯示更亮的影像// original ... 閱讀更多
要讀取特定畫素的值,我們可以使用“at”或“直接訪問”方法。在這裡,我們將學習這兩種方法。讓我們從“at”方法開始。下面的程式讀取 RGB 影像中位於 (10, 29) 處的畫素值。示例 #include #include using namespace std; using namespace cv; int main() { Mat image;//獲取影像矩陣// image = imread("sky.jpg");//載入影像// int x = image.at(10, 29)[0];//獲取畫素值// int y = image.at(10, 29)[1];//獲取畫素值// int z = image.at(10, 29)[2];//獲取畫素值// cout
在以前的方法(“at”方法)中,我們需要在訪問畫素值時指定影像型別。還有一種比“at”方法更簡單的方法。它被稱為直接訪問方法。要使用此方法訪問畫素值,我們需要指定 Mat 型別,例如 Mat、Mat、Mat 等。下面的程式演示瞭如何在 OpenCV 中使用直接訪問方法更改畫素值。示例 #include #include using namespace cv;//宣告 cv 名稱空間 using namespace std; void direct_access(Mat_ &image, int n){ //宣告函式// for (int x = 0; x < n; x++){ //啟動一個 ... 閱讀更多