3 灰度化圖像
基本邏輯如下:
1.先加載圖片,并根據(jù)圖片的長寬和格式創(chuàng)建一個Mat對象
2.然后使用 for Unity的Utils.方法將圖片填充到Mat對象
3.使用**.(顏色空間變換)**將該Mat對象變換至灰度后的Mat對象
(ps:顏色空間變化的詳細解釋可參考這篇文章)
4.最后使用Utils.將Mat對象轉(zhuǎn)換為中的
public class Demo_01 : MonoBehaviour

{
private RawImage m_SrcImage;
private RawImage m_HsvImage;
private void Start()
{

m_SrcImage = GameObject.Find("Canvas/SrcImage").GetComponent<RawImage>();
m_HsvImage = GameObject.Find("Canvas/HsvImage").GetComponent<RawImage>();
//————————————————————————————————————————————————————
Texture2D srcTex = Resources.Load<Texture2D>("lena");
Mat mat = new Mat(srcTex.height, srcTex.width, CvType.CV_8UC4);

Utils.texture2DToMat(srcTex, mat);
Mat grayMat = new Mat();
// 核心代碼
Imgproc.cvtColor(mat, grayMat, Imgproc.COLOR_BGR2GRAY);
Texture2D hsvTex = new Texture2D(grayMat.cols(), grayMat.rows(), TextureFormat.RGBA32, false);

Utils.matToTexture2D(grayMat, hsvTex);
//————————————————————————————————————————————————————
m_SrcImage.texture = srcTex;
m_HsvImage.texture = hsvTex;
}

}
效果如下:
5 源碼
鏈接: for Unity庫
提取碼:kxij
博主本文博客鏈接。
6 參考文章