做了一個簡單的去水印功能,基于文字檢測去圖片水印。效果如下:
插件功能代碼參考如下:
using namespace cv::dnn;
TextDetectionModel_DB *textDetector=0;
void getTextDetector()
{
if(textDetector)return;
String modelPath = "text_detection_DB_TD500_resnet18_2021sep.onnx"; //模型權重文件
textDetector=new TextDetectionModel_DB(modelPath);
float binThresh = 0.3; //二值圖的置信度閾值
float polyThresh = 0.5 ; //文本多邊形閾值
double unclipRatio = 2.0; //檢測到的文本區(qū)域的未壓縮比率,gai比率確定輸出大小
uint maxCandidates = 200;
textDetector->setBinaryThreshold(binThresh)
.setPolygonThreshold(polyThresh)
.setUnclipRatio(unclipRatio)
.setMaxCandidates(maxCandidates);
double scale = 1.0 / 255.0;
int height = 736; //輸出圖片長寬
int width = 736;
Size inputSize = Size(width, height);
Scalar mean = Scalar(122.67891434, 116.66876762, 104.00698793);
textDetector->setInputParams(scale, inputSize, mean);
}
void deWaterMarkTextDetection(Mat &input,Mat &output,Mat &src,string)
{
getTextDetector();
// 推理
std::vector<std::vector<Point>> results;
textDetector->detect(input, results);
Mat mask = Mat::zeros(input.size(), CV_8U);
fillPoly(mask, results,Scalar::all(255));
//將掩模進行膨脹,使其能夠覆蓋圖像更大區(qū)域
Mat kernel = getStructuringElement(MORPH_RECT, Size(5, 5));
dilate(mask, mask, kernel);
//使用inpaint進行圖像修復
Mat result;
inpaint(src, mask, output, 1, INPAINT_NS);
}
《QT 插件化圖像算法研究平臺》其它內容:文章來源:http://www.zghlxwxcb.cn/news/detail-807891.html
Opencv 圖像金字塔----高斯和拉普拉斯
OpenCV仿Photoshop曲線調整圖像亮度與色彩
QT 插件化圖像算法軟件架構
Opencv 圖像暗通道調優(yōu)去霧
opencv 提取選中區(qū)域內指定 hsv 顏色的水印
Opencv 手工選擇圖片區(qū)域去水印
Opencv 基于文字檢測去圖片水印
QT 插件化圖像算法研究平臺
Opencv 圖像亮度調節(jié)的幾種方式
Opencv使用QT的線程注意事項
歡迎廣大朋友溝通交流,微信/QQ:23245175,加好友,請備注:插件軟件。文章來源地址http://www.zghlxwxcb.cn/news/detail-807891.html
到了這里,關于Opencv基于文字檢測去圖片水印的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!