Commit add7c9f7 authored by wanglei's avatar wanglei

...

parent 9d4f3cf1
...@@ -81,7 +81,7 @@ dependencies { ...@@ -81,7 +81,7 @@ dependencies {
implementation 'com.github.zhpanvip:viewpagerindicator:1.2.3' implementation 'com.github.zhpanvip:viewpagerindicator:1.2.3'
//图片处理 //图片处理
implementation 'org.opencv:opencv:4.10.0' // implementation 'org.opencv:opencv:4.10.0'
//网络 //网络
implementation group: 'com.google.code.gson', name: 'gson', version: '2.10.1' implementation group: 'com.google.code.gson', name: 'gson', version: '2.10.1'
......
...@@ -59,7 +59,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() { ...@@ -59,7 +59,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
BarUtils.setStatusBarColor(this, Color.parseColor("#F2F3F7")) BarUtils.setStatusBarColor(this, Color.parseColor("#F2F3F7"))
binding.root.updatePadding(top = BarUtils.getStatusBarHeight()) binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
System.loadLibrary("opencv_java4") // System.loadLibrary("opencv_java4")
if (!checkStorePermission()) { if (!checkStorePermission()) {
if (dialog == null) { if (dialog == null) {
......
...@@ -47,7 +47,7 @@ class RepeatActivity : BaseActivity<ActivityRepeatBinding>() { ...@@ -47,7 +47,7 @@ class RepeatActivity : BaseActivity<ActivityRepeatBinding>() {
BarUtils.setStatusBarColor(this, Color.TRANSPARENT) BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
binding.root.updatePadding(top = BarUtils.getStatusBarHeight()) binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
System.loadLibrary("opencv_java4") // System.loadLibrary("opencv_java4")
mediaAdapter = MediaAdapter { mediaAdapter = MediaAdapter {
binding.ivSelectAll.isSelected = it.first binding.ivSelectAll.isSelected = it.first
......
package com.base.filerecoveryrecyclebin.utils //package com.base.filerecoveryrecyclebin.utils
//
import org.opencv.core.Core //import org.opencv.core.Core
import org.opencv.core.Mat //import org.opencv.core.Mat
import org.opencv.core.MatOfFloat //import org.opencv.core.MatOfFloat
import org.opencv.core.MatOfInt //import org.opencv.core.MatOfInt
import org.opencv.imgcodecs.Imgcodecs //import org.opencv.imgcodecs.Imgcodecs
import org.opencv.imgproc.Imgproc //import org.opencv.imgproc.Imgproc
//
object OpencvImageHelp { //object OpencvImageHelp {
//
fun opencvCompareSimilar(path1: String, path2: String): Double { // fun opencvCompareSimilar(path1: String, path2: String): Double {
// 将File对象转换为Mat对象 // // 将File对象转换为Mat对象
val image1 = Imgcodecs.imread(path1) // val image1 = Imgcodecs.imread(path1)
val image2 = Imgcodecs.imread(path2) // val image2 = Imgcodecs.imread(path2)
//
// 转换为灰度图 // // 转换为灰度图
val grayImage1 = Mat() // val grayImage1 = Mat()
val grayImage2 = Mat() // val grayImage2 = Mat()
Imgproc.cvtColor(image1, grayImage1, Imgproc.COLOR_BGR2GRAY) // Imgproc.cvtColor(image1, grayImage1, Imgproc.COLOR_BGR2GRAY)
Imgproc.cvtColor(image2, grayImage2, Imgproc.COLOR_BGR2GRAY) // Imgproc.cvtColor(image2, grayImage2, Imgproc.COLOR_BGR2GRAY)
//
// 计算直方图 // // 计算直方图
val histSize = MatOfInt(256) // val histSize = MatOfInt(256)
val range = MatOfFloat(0f, 256f) // val range = MatOfFloat(0f, 256f)
val hist1 = Mat() // val hist1 = Mat()
val hist2 = Mat() // val hist2 = Mat()
Imgproc.calcHist(mutableListOf(grayImage1), MatOfInt(0), Mat(), hist1, histSize, range) // Imgproc.calcHist(mutableListOf(grayImage1), MatOfInt(0), Mat(), hist1, histSize, range)
Imgproc.calcHist(mutableListOf(grayImage2), MatOfInt(0), Mat(), hist2, histSize, range) // Imgproc.calcHist(mutableListOf(grayImage2), MatOfInt(0), Mat(), hist2, histSize, range)
//
// 归一化直方图 // // 归一化直方图
Core.normalize(hist1, hist1, 0.0, 1.0, Core.NORM_MINMAX, -1, Mat()) // Core.normalize(hist1, hist1, 0.0, 1.0, Core.NORM_MINMAX, -1, Mat())
Core.normalize(hist2, hist2, 0.0, 1.0, Core.NORM_MINMAX, -1, Mat()) // Core.normalize(hist2, hist2, 0.0, 1.0, Core.NORM_MINMAX, -1, Mat())
//
// 使用相关性方法比较直方图 // // 使用相关性方法比较直方图
//HISTCMP_CORREL 相关性 // //HISTCMP_CORREL 相关性
//HISTCMP_INTERSECT 交集 // //HISTCMP_INTERSECT 交集
val similarity: Double = Imgproc.compareHist(hist1, hist2, Imgproc.HISTCMP_CORREL) // val similarity: Double = Imgproc.compareHist(hist1, hist2, Imgproc.HISTCMP_CORREL)
//
// 将相似度转换为百分比 // // 将相似度转换为百分比
val similarityPercentage = similarity * 100.0 // val similarityPercentage = similarity * 100.0
//
return similarityPercentage // return similarityPercentage
} // }
} //}
\ No newline at end of file \ No newline at end of file
...@@ -3,7 +3,7 @@ package com.base.filerecoveryrecyclebin.utils ...@@ -3,7 +3,7 @@ package com.base.filerecoveryrecyclebin.utils
import android.graphics.BitmapFactory import android.graphics.BitmapFactory
import android.provider.MediaStore.Audio.Radio import android.provider.MediaStore.Audio.Radio
import com.base.filerecoveryrecyclebin.bean.MediaBean import com.base.filerecoveryrecyclebin.bean.MediaBean
import com.base.filerecoveryrecyclebin.utils.OpencvImageHelp.opencvCompareSimilar //import com.base.filerecoveryrecyclebin.utils.OpencvImageHelp.opencvCompareSimilar
import java.io.File import java.io.File
import kotlin.random.Random import kotlin.random.Random
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment