有關opencv的學習(7)—圖片的特效顯示
之前瞭解了影象的HSV色彩空間,使用HSV的值可以生成一些非常有趣的效果。有些用照片編輯軟體所生成的色彩特效,就是用HSV色彩空間實現的。
如下,可以修改一個影象,將其所有畫素設定為一個固定飽和度,不改變其色調和亮度,程式碼如下:
結果如下所示:#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/opencv.hpp> using namespace cv; using namespace std; int main( ) { Mat image=imread("/Users/zhangxiaoyu/Desktop/1.png"); if(image.empty()) { cout<<"Error!cannot be read...../n"; return -1; } //轉換為HSV色彩空間 Mat hsv; cvtColor(image, hsv, CV_BGR2HSV);//把三個通道分割進三個影象中 vector<Mat>channels; split(hsv, channels); //channels[0]是色調 //channels[1]是飽和度 //channels[2]是亮度 channels[1]=255;//將所有畫素的顏色飽和度通道變成255 // channels[2]=200;//將所有畫素的亮度通道變成255 merge(channels, hsv);//重新合併通道 Mat newimage; cvtColor(hsv, newimage, CV_HSV2BGR);//轉換回BGR namedWindow("newimage"); imshow("newimage", newimage); waitKey(0); }
得到的效果像一幅油畫。
原始圖片如下所示:
相關推薦
有關opencv的學習(7)—圖片的特效顯示
之前瞭解了影象的HSV色彩空間,使用HSV的值可以生成一些非常有趣的效果。有些用照片編輯軟體所生成的色彩特效,就是用HSV色彩空間實現的。 如下,可以修改一個影象,將其所有畫素設定為一個固定飽和度,不改變其色調和亮度,程式碼如下: #include <iostream
opencv學習(七):圖片切割、合併、填充
一、圖片切割與合併 原理通過操作影象矩陣來獲取或合併指定位置的影象 # -*- coding=GBK -*- import cv2 as cv import numpy as np #擷取圖片中的指定區域或在指定區域新增某一圖片 def jie_image(src1
opencv學習(六):粗略的調整圖片對比度和亮度
基本原理:兩張圖片合成。 先按照原來的圖片的格式新建一個色素全為零的圖片,然後按照兩張圖的比例不同合成一張新圖片。主要用到函式:addWeighted函式 # -*- coding=GBK -*- import cv2 as cv import numpy as
python學習(7):python爬蟲之爬取動態載入的圖片,以百度圖片為例
前言: 前面我們爬取圖片的網站都是靜態的,在頁面中右鍵檢視原始碼就能看到網頁中圖片的位置。這樣我們用requests庫得到頁面原始碼後,再用bs4庫解析標籤即可儲存圖片到本地。 當我們在看百度圖片時,右鍵–檢查–Elements,點選箭頭,再用箭頭點選圖片時
OpenCV 學習(四)之 將圖片插入另一張圖片中的實現(ROI)
/** * 將一張圖片插入另一種圖片中 */ static void exam2() { Mat image = Imgcodecs.imr
OpenCV計算機視覺學習(7)——影象金字塔(高斯金字塔,拉普拉斯金字塔)
如果需要處理的原圖及程式碼,請移步小編的GitHub地址 傳送門:請點選我 如果點選有誤:https://github.com/LeBron-Jian/ComputerVisionPractice 本節學習影象金字塔,影象金字塔包括高斯金字塔和拉普拉斯金字塔。它是影象中多尺度表達的一種,最主要用於
《構建之法》學習(7)——MSF
發現 解決方案 msf 我們 基本原則 無法 strong 出了 微軟 《構建之法》學習(7)——MSF 1.MSF簡史 微軟解決方案框架,也就是微軟推薦的軟件開發方法 2.MSF基本原則 推動信息共享與溝通 所有信息都保留並公開,討論要包括所有
Java學習(7):同步問題之生產者與消費者的問題
con runnable pop pre 標記 this auth style about 生產者生產饅頭,消費者消費饅頭。一個籃子,生產者往籃子中放饅頭,消費者從籃子中取饅頭。 /** * 這是一個籃子類 * * @author xcx * @time 2017
R語言學習(7)字符串和因子
const sprint 水平 tostring 大小 pow 個數 end paste 字符串和因子 1.字符串 創建字符串 > c("Hello","World")[1] "Hello" "World" paste( ) 函數連接字符串 >
HTML的學習(7)
表格裡的一些照片 現在已經知道關於表格的一些東西、但是表格相比格式化文字而言其實有另外的用處。您可以使用一個表格來建立照片格式化的精美網路。 以後會進行css的學習,進行課程和專案的訓練。 練習題: <!DOCTYPE html> <html> <
Python學習(7)——面向物件高階編輯
1、使用__slots__ (1)可以嘗試給例項繫結一個方法: def set_age(self, age): self.age = age from types import MethodType s.set_age = MethodType(set_age, s) # 給例項
memcached的學習(7)
2018.6.13 memcached客戶端實現分散式的相關知識 memcached的分散式 正如第1次中介紹的那樣, memcached雖然稱為“分散式”快取伺服器,但伺服器端並沒有“分散式”功能。 伺服器端僅包括 第2次、 第3次 前阪介紹的記憶體儲存功能,其實現非常簡單。
JAVAWEB學習(7) - Session
Session 1. 什麼是Session 伺服器端為了儲存使用者狀態而建立的一個特殊的物件 在WEB開發中,伺服器可以為每個使用者瀏覽器建立一個會話物件(session物件),注意:一個瀏覽器獨佔一個session物件(預設情況下)。因此,在需要儲存使用者資料時,伺服器
Js學習(7)標準庫-object物件
Js原生提供Object物件,O大寫,所有的其他物件都繼承自Object物件,都是Object的例項 Object物件的原生方法分為兩類: 本身的方法:直接定義在Object物件的方法 例項方法:定義在Object原型物件Object.prototype上的方法,可以被Object例項直接使用 凡是定
opencv學習(十三):影象直方圖
一、安裝matplotlib 在cmd環境下,按照自己安裝的python位置進入Scripts目錄下,輸入命令:pip install matplotlib 二、 繪出圖片的直方圖 程式碼如下: #匯入cv模組 import cv2 as cv import nump
opencv學習(十):高斯模糊理論知識
理論知識: 參考連結: 對Photoshop高斯模糊濾鏡的演算法總結:http://www.cnblogs.com/hoodlum1980/archive/2008/03/03/1088567.html Python計算機視覺3:模糊,平滑,去噪:https://www.cnblogs.
opencv學習(九):利用卷積對影象模糊處理
在影象上個人覺得卷積就是:對於某一位置的畫素,通過演算法來把它附近的所有畫素點的值聯合起來,重新設定這個畫素的大小。(大概就是這樣) 這個演算法類似有:均值,中值,就是取周圍所有畫素的均值、中值來設定這個畫素的大小。 (關於邊界問題:有幾種填充方法:補零、邊界複製、塊複製、映象複製等方法)&
opencv學習(八):floodFill填充函式
一、指定顏色填充: (1)程式碼如下: #匯入cv模組 import cv2 as cv import numpy as np #泛洪填充 def fill_color_demo(image): #彩色圖片的填充 copyImg=image.copy() h,w=im
opencv 學習(3)幾何圖形的簡單識別
找到圖形的’極點‘,然後根據圖形的幾何關係便可以得到結果。程式碼如下。(如有錯誤還請指出) /******************************************************************** ** 文 件 名:幾何圖形的簡
Opencv學習(三)——影象變換
一、邊緣檢測 邊緣檢測的一般步驟: 濾波——消除噪聲 增強——使邊界輪廓更加明顯 檢測——選出邊緣點 1.1、canny運算元 void Canny( inputArray, outputArray, double threshold1, double t