day5 二值化
1.otsu二值化
# coding=utf-8 import cv2
import numpy as np
from matplotlib import pyplot as plt #1.读入图像
filename = "home.jpg"
img = cv2.imread(filename,0) #2.灰度图像 二值化
ret2,th2 = cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
#第1个参数:img,灰度原图像
#第2个参数:0对像素值进行分类的阈值
#第3个参数:255当像素值高于(有时是小于)阈值对应被赋予的新的像素值
#第4个参数:阈值方法
#第1个返回值:retVal
#第2个返回值 thresh 处理后的图像 #3.plt 输出
plt.subplot(121),plt.imshow(img,'gray')
plt.subplot(122),plt.imshow(th2,'gray') plt.show()

2.全局阈值 127
# coding=utf-8 import cv2
import numpy as np
from matplotlib import pyplot as plt #1.读入图像
#img = cv2.imread('gradient.png',0)
filename = "woman.JPEG"
img = cv2.imread(filename,0) #2.灰度图像二值化
ret1,th1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY) #全局阈值127
ret2,th2 = cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU) #3.plt展示图像
plt.subplot(221),plt.imshow(img)
#plt.subplot(221),plt.imshow(img,'gray')
plt.subplot(222),plt.imshow(th1)
plt.subplot(223),plt.hist(img.ravel(),256,[0,256]) #直方图函数list
plt.subplot(224),plt.imshow(th2) plt.show()

3.高斯核去噪,在Otsu二值化
day5 二值化的更多相关文章
- OpenCV图像的全局阈值二值化函数(OTSU)
cv::threshold(GrayImg, Bw, 0, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);//灰度图像二值化 CV_THRESH_OTSU是提取图像最 ...
- opencv二值化处理
#include "stdafx.h"//对一张图片进行二值化处理 IplImage *pSrclmg =NULL;//载入的图片IplImage *pDeclmg =NULL;/ ...
- [iOS OpenCV的使用,灰度和二值化]
看网上方法很多,但版本都不够新,我看了网上一些知识,总结了下,来个最新版Xcode6.1的. 最近主要想做iOS端的车牌识别,所以开始了解OpenCV.有兴趣的可以跟我交流下哈. 一.Opencv的使 ...
- java 图像灰度化与二值化
转载:http://www.chinasb.org/archives/2013/01/5053.shtml 1: package org.chinasb.client; 2: 3: import ja ...
- OpenCV图像的二值化
图像的二值化: 与边缘检测相比,轮廓检测有时能更好的反映图像的内容.而要对图像进行轮廓检测,则必须要先对图像进行二值化,图像的二值化就是将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出 ...
- OpenCV中对图像进行二值化的关键函数——cvThreshold()。
函数功能:采用Canny方法对图像进行边缘检测 函数原型: void cvThreshold( const CvArr* src, CvArr* dst, double threshold, doub ...
- C# 指针操作图像 二值化处理
/// <summary> /// 二值化图像 /// </summary> /// <param name="bmp"></param& ...
- 使用python-openCV对摄像头捕捉的镜头进行二值化并打上文字
用CaptureFromCAM函数对图像进行提取: capture = cv.CaptureFromCAM(0) 读取直接的视频文件只需将语句改变为: capture = cv.VideoCaptur ...
- openCV_java 图像二值化
较为常用的图像二值化方法有:1)全局固定阈值:2)局部自适应阈值:3)OTSU等. 局部自适应阈值则是根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值.这样做的好处在于每个像素位置处的二值化 ...
随机推荐
- BZOJ 1588 营业额统计 set
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1588 题目大意: 营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交 ...
- @property 装饰器
property() 函数作用于新式类,返回属性值. class C(object): def __init__(self): self._x = None def getx(self): print ...
- python反序列化
import pickle import os class A(object): def __reduce__(self): a = """python -c 'impo ...
- 说说Vue.js的v-for
v-for的话,相比传统的jQuery的 $.each或者for循环要简洁明了的多, 比如在Jquery中我要遍历数据,通常如下几种方式: $.each(apps, function(i, app) ...
- VC++获取一个GB级大文件的字节大小
常规的获得小文件(2.1GB以下)的字节大小可以使用ftell,函数 ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数.使用fseek函数后再调用函数ftell()就能非常容易地确定文 ...
- 超低功耗WiFi :ESP8089
ESP8089是一个完整且自成体系的Wi-Fi网络解决方案.当ESP8089作为Wi-Fi适配器 时,可以将其与任何微控制器配合,无线网络接入可以实现在配合的任何一种处理器上p 网络连接只需通过SPI ...
- [LuoguP1438]无聊的数列(差分+线段树/树状数组)
\(Link\) \(\color{red}{\mathcal{Description}}\) 给你一个数列,要求支持单点查询\(and\)区间加等差数列. \(\color{red}{\mathca ...
- XMPP备忘笔记
xmpp中文翻译计划: http://wiki.jabbercn.org/%E9%A6%96%E9%A1%B5 XEP-0004: 数据表单 摘要: 本文定义了一个XMPP扩展协议用于数据表单,可以用 ...
- UVALive - 2515 (最小生成树 kruskal)
You are assigned to design network connections between certain points in a wide area. You are given ...
- Strategy(策略)模式
1.概述 在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能.如查找.排序等,一种常用的方法是硬编码(Hard Cod ...