This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import argparse | |
from PIL import Image | |
def embed_message(image_path, message, output_path): | |
org_img = Image.open(image_path) | |
org_pixelMap = org_img.load() | |
enc_img = Image.new(org_img.mode, org_img.size) | |
enc_pixelsMap = enc_img.load() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Check number of arguments | |
if [ $# -ne 3 ]; then | |
echo "Usage: $0 <file1> <file2> <output_file>" | |
echo "Example: $0 file1.txt file2.txt differences.txt" | |
exit 1 | |
fi | |
# Get command line arguments |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ffmpeg -ss 0 -t 3 -i input.mp4 \ | |
-vf "fps=10,scale=320:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" \ | |
-loop 0 output.gif |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 保存到 ~/.gdbinit | |
python | |
import sys | |
sys.path.insert(0, '/usr/share/gcc-4.8.2/python') # 这个路径以实际情况为准 | |
from libstdcxx.v6.printers import register_libstdcxx_printers | |
register_libstdcxx_printers (None) | |
end | |
# | |
# STL GDB evaluators/views/utilities - 1.03 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def tile_along_axis(x, dim, n_tile): | |
init_dim = x.size(dim) | |
repeat_idx = [1] * x.dim() | |
repeat_idx[dim] = n_tile | |
x = x.repeat(*(repeat_idx)) | |
order_index = torch.tensor( | |
torch.cat([init_dim * torch.arange(n_tile, device=x.device) + i for i in range(init_dim)]), | |
dtype=torch.long, device=x.device) | |
return torch.index_select(x, dim, order_index) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
while true | |
do | |
x=`xdotool getmouselocation | grep -oP '(?<=x:)\d+'` | |
y=`xdotool getmouselocation | grep -oP '(?<=y:)\d+'` | |
xdotool mousemove $x $y | |
xdotool click 1 | |
sleep 1 | |
done |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
vector <string> Names {"Karl", "Martin", "Paul", "Jennie"}; | |
vector <int> Score{45, 5, 14, 24}; | |
std::vector<int> indices(Names.size()); | |
std::iota(indices.begin(), indices.end(), 0); | |
std::sort(indices.begin(), indices.end(), | |
[&](int A, int B) -> bool { | |
return Score[A] < Score[B]; | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import numpy as np | |
from scipy.spatial import KDTree | |
def chamfer_distance(s1, s2, direction='s2_to_s1'): | |
"""Chamfer distance between two point sets. | |
Args: | |
s1 (np.ndarray): [n_points_s1, n_dims] | |
s2 (np.ndarray): [n_points_s2, n_dims] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def masked_log_softmax(input, mask, dim=1): | |
masked_input = input * mask.float() | |
max_input = torch.max(masked_input, dim=dim, keepdim=True)[0] | |
exps = torch.exp(masked_input - max_input) | |
masked_exps = exps * mask.float() | |
masked_sums = masked_exps.sum(dim, keepdim=True) | |
zeros = (masked_sums == 0) | |
masked_sums += zeros.float() | |
masked_exps += 1e-6 # avoid zero input of log. | |
return torch.log(masked_exps / masked_sums) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# reference: https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python | |
import copy | |
import numpy as np | |
from scipy.linalg import block_diag | |
from filterpy.kalman import IMMEstimator | |
from filterpy.kalman import KalmanFilter | |
from filterpy.common import Q_discrete_white_noise | |
def make_cv_filter(dt): |
NewerOlder