日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

照明与图像

發布時間:2024/7/23 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 照明与图像 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

光通量:

  • 人眼所能感受到的輻射功率,等于單位時間內某一波段的輻射能量和該波段的相對視見率的乘積。
  • 單位是lm(流明)
  • 1流明 = 0.00146瓦

輻照度

  • 投射到一平表面上的輻射通量密度。指到達一表面上,單位時間,單位面積上的輻射能。
  • 以符號E表示,常用單位lux(勒克斯)
  • 1 lux = 1 lm/m2

圖像傳感器基本原理:


感光面中每一個小格對應圖片的一個像素。

對于彩色圖像傳感器,相比灰度傳感器在感光面上多了一層顏色薄膜層,由RGB三種小孔組成,最上面是微透鏡層,它保證光能集中在帶顏色的孔上。

彩色圖片有3個通道。

顏色空間

顏色模型:

  • RGB顏色模型(三原色)
  • CMYK顏色模型(RGB的補色,三補色,K代表黑色,常用于印刷服裝業,因為我們看到的是顏料吸收某種顏色之后的補色)
  • HSI顏色模型(色調H是描述純色的屬性,如紅色,黃色;飽和度S表示的是一種純色被白光稀釋的程度的度量;亮度I體現了無色的光強度概念,是一個主觀的描述)

顏色空間的分解

相關函數:

  • 顏色空間轉換:
    Python:
dst = cv2.cvtColor(src, code[, dst[, dstCn]]) # src表示要轉換的原始圖像 # code表示要轉換的具體顏色空間類型 # []里的參數可以省略
  • 通道分離
    Python:
    形如 bgr[:, :, 0]表示第0個通道(blue)

顏色空間:

  • Opencv中,彩色圖像缺省為BGR格式,顏色三通道順序為B,G,R,分別對應索引0,1,2(這點和windows不同,后者缺省是RGB)
  • Opencv中,HSI/HSV顏色空間中H的取值范圍是0-180,其他兩個是0-255.
  • 兩個相似的概念:HSI和HSV空間。HSV里面的v指的是RGB里面的最大的值,v = max(r,g,b);而HSI的I是平均值,I = (r+g+b)/3;另外兩個分量應該是一樣的。

OpenCV實現程序實例:

import cv2 as cvfilename = 'C:/python/img/lena.jpg' img = cv.imread(filename) gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)cv.imshow("source image", img) cv.imshow("gray", gray) cv.waitKey() #等候鼠標操作,關閉窗口hsv = cv.cvtColor(img, cv.COLOR_BGR2HSV)cv.imshow("Hue", hsv[:, :, 0]) cv.imshow("Saturation", hsv[:, :, 1]) cv.imshow("Value", hsv[:, :, 2]) cv.waitKey()cv.imshow("Blue", img[:, :, 0]) cv.imshow("Green", img[:, :, 1]) cv.imshow("Red", img[:, :, 2])cv.waitKey() cv.destroyAllWindows()

彩色圖像的各通道都是二維矩陣,分別顯示為灰度圖像。

c++版:

#include <iostream> #include <opencv2/core.hpp> #include <opencv2/highgui.hpp> #include <opencv2/imgproc.hpp>//using namespace std; using namespace cv;int main() {Mat srcImage = imread("lena.jpg");//判斷圖像是否加載成功if (!srcImage.data){std::cout << "圖像加載失敗!" << std::endl;return false;}elsestd::cout << "圖像加載成功!" << std::endl << std::endl;//顯示原圖像namedWindow("原圖像", WINDOW_AUTOSIZE);imshow("原圖像", srcImage);//將圖像轉換為灰度圖,采用CV_前綴Mat grayImage;cvtColor(srcImage, grayImage, COLOR_BGR2GRAY); //將圖像轉換為灰度圖namedWindow("灰度圖", WINDOW_AUTOSIZE);imshow("灰度圖", grayImage);//將圖像轉換為HSV,采用COLOR_前綴Mat HSVImage;cvtColor(srcImage, HSVImage, COLOR_BGR2HSV); //將圖像轉換為HSV圖namedWindow("HSV", WINDOW_AUTOSIZE);imshow("HSV", HSVImage);//分離HSV三通道std::vector<Mat> hsvChannels;split(HSVImage, hsvChannels);imshow("image_H", hsvChannels[0]);imshow("image_S", hsvChannels[1]);imshow("image_V", hsvChannels[2]);waitKey(0);return 0; }

向量(Vector)是一個封裝了動態大小數組的順序容器(Sequence Container)。跟任意其它類型容器一樣,它能夠存放各種類型的對象。可以簡單的認為,向量是一個能夠存放任意類型的動態數組。

總結

以上是生活随笔為你收集整理的照明与图像的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。