Upload
commit
0019a4373b
|
@ -0,0 +1,2 @@
|
|||
flake.lock
|
||||
ears/**
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
|
||||
|
||||
```bash
|
||||
nix-develop to recreate environment
|
||||
```
|
|
@ -0,0 +1,65 @@
|
|||
|
||||
import os
|
||||
import cv2
|
||||
|
||||
class EarDataClass():
|
||||
|
||||
def __init__(self, root_dir:str , annot_file: str, mode: str):
|
||||
if not os.path.isdir(root_dir):
|
||||
raise ValueError('root_dir must be a valid directory')
|
||||
if os.path.isfile(os.path.join(root_dir, annot_file)):
|
||||
raise ValueError('annot_file must be a valid file')
|
||||
if mode not in ['train', 'test']:
|
||||
raise ValueError('mode must be either train or test')
|
||||
|
||||
self.root_dir = root_dir
|
||||
self.annot_file = annot_file
|
||||
self.mode = mode
|
||||
self._set_paths()
|
||||
|
||||
def _set_paths(self):
|
||||
paths = []
|
||||
labels = []
|
||||
|
||||
def _convert_path_to_number(path):
|
||||
return int(path.split('/')[-1].split('.')[0])
|
||||
|
||||
with open(self.annot_file, 'r') as f:
|
||||
lines = f.readlines()
|
||||
for line in lines:
|
||||
line = line.split(' ')
|
||||
path = os.path.join(self.root_dir, line[0])
|
||||
p_int = _convert_path_to_number(path)
|
||||
if self.mode == 'train':
|
||||
if p_int % 5 != 0:
|
||||
paths.append(path)
|
||||
labels.append(line[1])
|
||||
elif self.mode == 'test':
|
||||
if p_int % 5 == 0:
|
||||
paths.append(path)
|
||||
labels.append(line[1])
|
||||
|
||||
self.paths = paths
|
||||
self.labels = labels
|
||||
|
||||
def __getitem__(self, idx):
|
||||
image_path = self.paths[idx]
|
||||
label = self.labels[idx]
|
||||
image = cv2.imread(image_path)
|
||||
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
|
||||
image = image.astype('float32') / 255.0
|
||||
return image, label
|
||||
|
||||
def __len__(self):
|
||||
return len(self.paths)
|
||||
|
||||
|
||||
def main():
|
||||
dat = EarDataClass(root_dir='./ears', annot_file='identites.txt', mode='train')
|
||||
for i in range(len(dat)):
|
||||
image, label = dat[i]
|
||||
print(image.shape, label)
|
||||
pass
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
description = "Python development environment with Matplotlib and OpenCV";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, flake-utils, ... } @ inputs:
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [];
|
||||
};
|
||||
pythonEnv = pkgs.python3.withPackages (ps: with ps; [
|
||||
matplotlib
|
||||
opencv4
|
||||
pip
|
||||
pillow
|
||||
]);
|
||||
in {
|
||||
devShells.default = pkgs.mkShell {
|
||||
buildInputs = [
|
||||
pythonEnv
|
||||
];
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,500 @@
|
|||
0501.png 001
|
||||
0502.png 001
|
||||
0503.png 001
|
||||
0504.png 001
|
||||
0505.png 001
|
||||
0506.png 002
|
||||
0507.png 002
|
||||
0508.png 002
|
||||
0509.png 002
|
||||
0510.png 002
|
||||
0511.png 003
|
||||
0512.png 003
|
||||
0513.png 003
|
||||
0514.png 003
|
||||
0515.png 003
|
||||
0516.png 004
|
||||
0517.png 004
|
||||
0518.png 004
|
||||
0519.png 004
|
||||
0520.png 004
|
||||
0521.png 005
|
||||
0522.png 005
|
||||
0523.png 005
|
||||
0524.png 005
|
||||
0525.png 005
|
||||
0526.png 006
|
||||
0527.png 006
|
||||
0528.png 006
|
||||
0529.png 006
|
||||
0530.png 006
|
||||
0531.png 007
|
||||
0532.png 007
|
||||
0533.png 007
|
||||
0534.png 007
|
||||
0535.png 007
|
||||
0536.png 008
|
||||
0537.png 008
|
||||
0538.png 008
|
||||
0539.png 008
|
||||
0540.png 008
|
||||
0541.png 009
|
||||
0542.png 009
|
||||
0543.png 009
|
||||
0544.png 009
|
||||
0545.png 009
|
||||
0546.png 010
|
||||
0547.png 010
|
||||
0548.png 010
|
||||
0549.png 010
|
||||
0550.png 010
|
||||
0551.png 011
|
||||
0552.png 011
|
||||
0553.png 011
|
||||
0554.png 011
|
||||
0555.png 011
|
||||
0556.png 012
|
||||
0557.png 012
|
||||
0558.png 012
|
||||
0559.png 012
|
||||
0560.png 012
|
||||
0561.png 013
|
||||
0562.png 013
|
||||
0563.png 013
|
||||
0564.png 013
|
||||
0565.png 013
|
||||
0566.png 014
|
||||
0567.png 014
|
||||
0568.png 014
|
||||
0569.png 014
|
||||
0570.png 014
|
||||
0571.png 015
|
||||
0572.png 015
|
||||
0573.png 015
|
||||
0574.png 015
|
||||
0575.png 015
|
||||
0576.png 016
|
||||
0577.png 016
|
||||
0578.png 016
|
||||
0579.png 016
|
||||
0580.png 016
|
||||
0581.png 017
|
||||
0582.png 017
|
||||
0583.png 017
|
||||
0584.png 017
|
||||
0585.png 017
|
||||
0586.png 018
|
||||
0587.png 018
|
||||
0588.png 018
|
||||
0589.png 018
|
||||
0590.png 018
|
||||
0591.png 019
|
||||
0592.png 019
|
||||
0593.png 019
|
||||
0594.png 019
|
||||
0595.png 019
|
||||
0596.png 020
|
||||
0597.png 020
|
||||
0598.png 020
|
||||
0599.png 020
|
||||
0600.png 020
|
||||
0601.png 021
|
||||
0602.png 021
|
||||
0603.png 021
|
||||
0604.png 021
|
||||
0605.png 021
|
||||
0606.png 022
|
||||
0607.png 022
|
||||
0608.png 022
|
||||
0609.png 022
|
||||
0610.png 022
|
||||
0611.png 023
|
||||
0612.png 023
|
||||
0613.png 023
|
||||
0614.png 023
|
||||
0615.png 023
|
||||
0616.png 024
|
||||
0617.png 024
|
||||
0618.png 024
|
||||
0619.png 024
|
||||
0620.png 024
|
||||
0621.png 025
|
||||
0622.png 025
|
||||
0623.png 025
|
||||
0624.png 025
|
||||
0625.png 025
|
||||
0626.png 026
|
||||
0627.png 026
|
||||
0628.png 026
|
||||
0629.png 026
|
||||
0630.png 026
|
||||
0631.png 027
|
||||
0632.png 027
|
||||
0633.png 027
|
||||
0634.png 027
|
||||
0635.png 027
|
||||
0636.png 028
|
||||
0637.png 028
|
||||
0638.png 028
|
||||
0639.png 028
|
||||
0640.png 028
|
||||
0641.png 029
|
||||
0642.png 029
|
||||
0643.png 029
|
||||
0644.png 029
|
||||
0645.png 029
|
||||
0646.png 030
|
||||
0647.png 030
|
||||
0648.png 030
|
||||
0649.png 030
|
||||
0650.png 030
|
||||
0651.png 031
|
||||
0652.png 031
|
||||
0653.png 031
|
||||
0654.png 031
|
||||
0655.png 031
|
||||
0656.png 032
|
||||
0657.png 032
|
||||
0658.png 032
|
||||
0659.png 032
|
||||
0660.png 032
|
||||
0661.png 033
|
||||
0662.png 033
|
||||
0663.png 033
|
||||
0664.png 033
|
||||
0665.png 033
|
||||
0666.png 034
|
||||
0667.png 034
|
||||
0668.png 034
|
||||
0669.png 034
|
||||
0670.png 034
|
||||
0671.png 035
|
||||
0672.png 035
|
||||
0673.png 035
|
||||
0674.png 035
|
||||
0675.png 035
|
||||
0676.png 036
|
||||
0677.png 036
|
||||
0678.png 036
|
||||
0679.png 036
|
||||
0680.png 036
|
||||
0681.png 037
|
||||
0682.png 037
|
||||
0683.png 037
|
||||
0684.png 037
|
||||
0685.png 037
|
||||
0686.png 038
|
||||
0687.png 038
|
||||
0688.png 038
|
||||
0689.png 038
|
||||
0690.png 038
|
||||
0691.png 039
|
||||
0692.png 039
|
||||
0693.png 039
|
||||
0694.png 039
|
||||
0695.png 039
|
||||
0696.png 040
|
||||
0697.png 040
|
||||
0698.png 040
|
||||
0699.png 040
|
||||
0700.png 040
|
||||
1901.png 041
|
||||
1902.png 041
|
||||
1903.png 041
|
||||
1904.png 041
|
||||
1905.png 041
|
||||
1906.png 042
|
||||
1907.png 042
|
||||
1908.png 042
|
||||
1909.png 042
|
||||
1910.png 042
|
||||
1911.png 043
|
||||
1912.png 043
|
||||
1913.png 043
|
||||
1914.png 043
|
||||
1915.png 043
|
||||
1916.png 044
|
||||
1917.png 044
|
||||
1918.png 044
|
||||
1919.png 044
|
||||
1920.png 044
|
||||
1921.png 045
|
||||
1922.png 045
|
||||
1923.png 045
|
||||
1924.png 045
|
||||
1925.png 045
|
||||
1926.png 046
|
||||
1927.png 046
|
||||
1928.png 046
|
||||
1929.png 046
|
||||
1930.png 046
|
||||
1931.png 047
|
||||
1932.png 047
|
||||
1933.png 047
|
||||
1934.png 047
|
||||
1935.png 047
|
||||
1936.png 048
|
||||
1937.png 048
|
||||
1938.png 048
|
||||
1939.png 048
|
||||
1940.png 048
|
||||
1941.png 049
|
||||
1942.png 049
|
||||
1943.png 049
|
||||
1944.png 049
|
||||
1945.png 049
|
||||
1946.png 050
|
||||
1947.png 050
|
||||
1948.png 050
|
||||
1949.png 050
|
||||
1950.png 050
|
||||
1951.png 051
|
||||
1952.png 051
|
||||
1953.png 051
|
||||
1954.png 051
|
||||
1955.png 051
|
||||
1956.png 052
|
||||
1957.png 052
|
||||
1958.png 052
|
||||
1959.png 052
|
||||
1960.png 052
|
||||
1961.png 053
|
||||
1962.png 053
|
||||
1963.png 053
|
||||
1964.png 053
|
||||
1965.png 053
|
||||
1966.png 054
|
||||
1967.png 054
|
||||
1968.png 054
|
||||
1969.png 054
|
||||
1970.png 054
|
||||
1971.png 055
|
||||
1972.png 055
|
||||
1973.png 055
|
||||
1974.png 055
|
||||
1975.png 055
|
||||
1976.png 056
|
||||
1977.png 056
|
||||
1978.png 056
|
||||
1979.png 056
|
||||
1980.png 056
|
||||
1981.png 057
|
||||
1982.png 057
|
||||
1983.png 057
|
||||
1984.png 057
|
||||
1985.png 057
|
||||
1986.png 058
|
||||
1987.png 058
|
||||
1988.png 058
|
||||
1989.png 058
|
||||
1990.png 058
|
||||
1991.png 059
|
||||
1992.png 059
|
||||
1993.png 059
|
||||
1994.png 059
|
||||
1995.png 059
|
||||
1996.png 060
|
||||
1997.png 060
|
||||
1998.png 060
|
||||
1999.png 060
|
||||
2000.png 060
|
||||
2001.png 061
|
||||
2002.png 061
|
||||
2003.png 061
|
||||
2004.png 061
|
||||
2005.png 061
|
||||
2006.png 062
|
||||
2007.png 062
|
||||
2008.png 062
|
||||
2009.png 062
|
||||
2010.png 062
|
||||
2011.png 063
|
||||
2012.png 063
|
||||
2013.png 063
|
||||
2014.png 063
|
||||
2015.png 063
|
||||
2016.png 064
|
||||
2017.png 064
|
||||
2018.png 064
|
||||
2019.png 064
|
||||
2020.png 064
|
||||
2021.png 065
|
||||
2022.png 065
|
||||
2023.png 065
|
||||
2024.png 065
|
||||
2025.png 065
|
||||
2026.png 066
|
||||
2027.png 066
|
||||
2028.png 066
|
||||
2029.png 066
|
||||
2030.png 066
|
||||
2031.png 067
|
||||
2032.png 067
|
||||
2033.png 067
|
||||
2034.png 067
|
||||
2035.png 067
|
||||
2036.png 068
|
||||
2037.png 068
|
||||
2038.png 068
|
||||
2039.png 068
|
||||
2040.png 068
|
||||
2041.png 069
|
||||
2042.png 069
|
||||
2043.png 069
|
||||
2044.png 069
|
||||
2045.png 069
|
||||
2046.png 070
|
||||
2047.png 070
|
||||
2048.png 070
|
||||
2049.png 070
|
||||
2050.png 070
|
||||
2051.png 071
|
||||
2052.png 071
|
||||
2053.png 071
|
||||
2054.png 071
|
||||
2055.png 071
|
||||
2056.png 072
|
||||
2057.png 072
|
||||
2058.png 072
|
||||
2059.png 072
|
||||
2060.png 072
|
||||
2061.png 073
|
||||
2062.png 073
|
||||
2063.png 073
|
||||
2064.png 073
|
||||
2065.png 073
|
||||
2066.png 074
|
||||
2067.png 074
|
||||
2068.png 074
|
||||
2069.png 074
|
||||
2070.png 074
|
||||
2071.png 075
|
||||
2072.png 075
|
||||
2073.png 075
|
||||
2074.png 075
|
||||
2075.png 075
|
||||
2076.png 076
|
||||
2077.png 076
|
||||
2078.png 076
|
||||
2079.png 076
|
||||
2080.png 076
|
||||
2081.png 077
|
||||
2082.png 077
|
||||
2083.png 077
|
||||
2084.png 077
|
||||
2085.png 077
|
||||
2086.png 078
|
||||
2087.png 078
|
||||
2088.png 078
|
||||
2089.png 078
|
||||
2090.png 078
|
||||
2091.png 079
|
||||
2092.png 079
|
||||
2093.png 079
|
||||
2094.png 079
|
||||
2095.png 079
|
||||
2096.png 080
|
||||
2097.png 080
|
||||
2098.png 080
|
||||
2099.png 080
|
||||
2100.png 080
|
||||
2101.png 081
|
||||
2102.png 081
|
||||
2103.png 081
|
||||
2104.png 081
|
||||
2105.png 081
|
||||
2106.png 082
|
||||
2107.png 082
|
||||
2108.png 082
|
||||
2109.png 082
|
||||
2110.png 082
|
||||
2111.png 083
|
||||
2112.png 083
|
||||
2113.png 083
|
||||
2114.png 083
|
||||
2115.png 083
|
||||
2116.png 084
|
||||
2117.png 084
|
||||
2118.png 084
|
||||
2119.png 084
|
||||
2120.png 084
|
||||
2121.png 085
|
||||
2122.png 085
|
||||
2123.png 085
|
||||
2124.png 085
|
||||
2125.png 085
|
||||
2126.png 086
|
||||
2127.png 086
|
||||
2128.png 086
|
||||
2129.png 086
|
||||
2130.png 086
|
||||
2131.png 087
|
||||
2132.png 087
|
||||
2133.png 087
|
||||
2134.png 087
|
||||
2135.png 087
|
||||
2136.png 088
|
||||
2137.png 088
|
||||
2138.png 088
|
||||
2139.png 088
|
||||
2140.png 088
|
||||
2141.png 089
|
||||
2142.png 089
|
||||
2143.png 089
|
||||
2144.png 089
|
||||
2145.png 089
|
||||
2146.png 090
|
||||
2147.png 090
|
||||
2148.png 090
|
||||
2149.png 090
|
||||
2150.png 090
|
||||
2151.png 091
|
||||
2152.png 091
|
||||
2153.png 091
|
||||
2154.png 091
|
||||
2155.png 091
|
||||
2156.png 092
|
||||
2157.png 092
|
||||
2158.png 092
|
||||
2159.png 092
|
||||
2160.png 092
|
||||
2161.png 093
|
||||
2162.png 093
|
||||
2163.png 093
|
||||
2164.png 093
|
||||
2165.png 093
|
||||
2166.png 094
|
||||
2167.png 094
|
||||
2168.png 094
|
||||
2169.png 094
|
||||
2170.png 094
|
||||
2171.png 095
|
||||
2172.png 095
|
||||
2173.png 095
|
||||
2174.png 095
|
||||
2175.png 095
|
||||
2176.png 096
|
||||
2177.png 096
|
||||
2178.png 096
|
||||
2179.png 096
|
||||
2180.png 096
|
||||
2181.png 097
|
||||
2182.png 097
|
||||
2183.png 097
|
||||
2184.png 097
|
||||
2185.png 097
|
||||
2186.png 098
|
||||
2187.png 098
|
||||
2188.png 098
|
||||
2189.png 098
|
||||
2190.png 098
|
||||
2191.png 099
|
||||
2192.png 099
|
||||
2193.png 099
|
||||
2194.png 099
|
||||
2195.png 099
|
||||
2196.png 100
|
||||
2197.png 100
|
||||
2198.png 100
|
||||
2199.png 100
|
||||
2200.png 100
|
Loading…
Reference in New Issue